بدء بث YouTube المباشر على أجهزة Android

تم إيقاف حزمة تطوير البرامج (SDK) هذه نهائيًا. لم يعُد YouTube متوافقًا أو خاضعًا للصيانة. يُرجى استخدام YouTube Iframe Player API بدلاً من ذلك.

إنّ الرابط لصفحة في التطبيق في YouTube للأجهزة الجوّالة يتيح لتطبيقات Android بدء بث مباشر على YouTube من جهاز جوّال مباشرةً. لا يحتاج التطبيق إلا إلى تقديم نقطة دخول، مثل زر يمكن للمستخدم النقر عليه لبدء تدفق Live Mobile من خلال آلية Android Intent.

مثال

وتعرض هذه العملية تجربة المستخدم لتطبيق يعمل على الربط بصفحة تطبيق YouTube، حيث يصل المستخدم إلى شاشة إعداد البث المباشر على الأجهزة الجوّالة.

  1. أولاً، يضبط المستخدم البث ويضبط العنوان ووضع الخصوصية وخيارات البث الأخرى.
  2. بعد ذلك، ينتقل المستخدم إلى الشاشة "صورة مصغّرة" لضبط صورة مصغّرة للبث.
  3. أخيرًا، يبدأ المستخدم البث المباشر ويبثّ العرض من الكاميرا الأمامية أو الخلفية.

متطلبات الجهاز

يجب أن تستوفي أجهزة Android المتطلبات التالية لإتاحة البث المباشر على YouTube والرابط لصفحة في التطبيق للأجهزة الجوّالة:

  • إصدار Android: Marshmallow (واجهة برمجة التطبيقات 23) أو الإصدارات الأحدث
  • الكاميرا: كاميرا واحدة على الأقل بإمكانها تسجيل فيديو بدقة 720p بسرعة 30 هرتز على الأقل
  • الميكروفون: الميكروفون المدمج في الجهاز
  • برنامج ترميز الصوت: برنامج ترميز صوت مسرَّع للأجهزة يستطيع ترميز الصوت الأحادي لـ PCM بمعدل 8 بت إلى AAC بمعدّل 44.1 كيلو هرتز أو أفضل
  • برنامج ترميز الفيديو: من خلال ترميز الفيديو السريع في الجهاز الذي يمكنه ترميز الفيديو الأولي بدقة 720P إلى H.264/AVC عند 30 هرتز أو أفضل
  • تطبيق YouTube المُثبَّت: الإصدار 13.02 أو إصدار أحدث

مواصفات النية بالشراء على الأجهزة الجوّالة

للربط بعملية البث المباشر على YouTube للأجهزة الجوّالة، ينشئ تطبيق Android رسالة Intent. يبدأ Intent عملية البث المباشر من خلال بدء نشاط في تطبيق YouTube.

تنسيق intent

يستخدم هدف البث المباشر على الأجهزة الجوّالة سلسلة Action مخصّصة للانتقال إلى نشاط الإنشاء المباشر ضمن تطبيق YouTube. ويحدّد أيضًا اسم الحزمة لتطبيق YouTube المتوافق مع الأجهزة الجوّالة.

محتوى إضافي مخصّص حسب النية بالشراء

تعالج عملية إعداد تطبيق YouTube إعدادات البث. تحدّد الميزات الإضافية التالية الجمهور Intent مَعلمات مرتبطة بالبث المباشر:

مَعلمات
Intent.EXTRA_REFERRER Required. تحدِّد هذه المعلّمة معرّف الموارد المنتظم (URI) الذي يمثّل التطبيق الذي يشغِّل نشاط البث المباشر. يجب أن تتّبع هذه القيمة التنسيق android-app: scheme مع اسم حزمة. وتم تفعيل القيمة والإحالة الدقيقة والمحاسبة.
intent.EXTRA_SUBJECT Optional. تقدِّم هذه المعلّمة وصفًا نصيًا للبث المباشر. يتم وضعها في حزمة Intent الإضافية على شكل سلسلة. يمكن استخدام القيمة لإضافة تعليقات توضيحية إلى البث باستخدام رسالة تحمل العلامة التجارية، مثل "تم البث مباشرةً من DEVICE".

بدء البث المباشر

الخطوة 1: التحقق من الدعم

يجب أوّلاً التأكّد من أنّه بإمكان العملاء تنفيذ هدف البث المباشر على الأجهزة الجوّالة من خلال التأكّد من تثبيت تطبيق YouTube على الجهاز وأنّ إصدار تطبيق YouTube متوافق مع ميزة البث المباشر. يحدد نموذج الرمز التالي طريقتين لإجراء ذلك:

  • تتحقّق طريقة canResolveMobileLiveIntent من أنّ الجهاز متوافق مع النية بالشراء على الأجهزة الجوّالة.
  • تطلب validateMobileLiveIntent الطريقة canResolveMobileLiveIntent في سياق عبارة if-else.
    • إذا كان الجهاز متوافقًا مع رسالة intent، يمكن أن يبدأ الجهاز البث المباشر.
    • إذا كان الجهاز لا يتوافق مع Intent، قد يطلب الجهاز من المستخدم تثبيت تطبيق YouTube أو ترقيته.
private boolean canResolveMobileLiveIntent(Context context) {
  Intent intent = new Intent("com.google.android.youtube.intent.action.CREATE_LIVE_STREAM")
    .setPackage("com.google.android.youtube");
  PackageManager pm = context.getPackageManager();
  List resolveInfo = 
    pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
  return resolveInfo != null && !resolveInfo.isEmpty();
}


private void validateMobileLiveIntent(Context context) {
  if (canResolveMobileLiveIntent(context)) {
    // Launch the live stream Activity
  } else {
    // Prompt user to install or upgrade the YouTube app
  }
}

الخطوة 2: بدء نشاط البث المباشر

لبدء مسار البث المباشر، ينشئ تطبيق العميل Intent ويطلقه كما هو موضّح في نموذج الرمز التالي:

private Intent createMobileLiveIntent(Context context, String description) {
  Intent intent = new Intent("com.google.android.youtube.intent.action.CREATE_LIVE_STREAM")
      .setPackage("com.google.android.youtube");
  Uri referrer = new Uri.Builder()
      .scheme("android-app")
      .appendPath(context.getPackageName())
      .build();

  intent.putExtra(Intent.EXTRA_REFERRER, referrer);
  if (!TextUtils.isEmpty(description)) {
    intent.putExtra(Intent.EXTRA_SUBJECT, description);
  }
  return intent;
}


private void startMobileLive(Context context) {
  Intent mobileLiveIntent = createMobileLiveIntent(context, "Streaming via ...");
  startActivity(mobileLiveIntent);
}