شروع جاری‌سازی زنده YouTube در دستگاه‌های Android

پیوند عمیق YouTube Mobile Live به برنامه‌های Android امکان می‌دهد تا جاری‌سازی زنده YouTube را مستقیماً از دستگاه همراه شروع کنند. برنامه فقط باید یک نقطه ورودی ارائه دهد، مانند دکمه‌ای که کاربر می‌تواند روی آن کلیک کند، که جریان Mobile Live را بااستفاده از سازوکار Android Intent شروع می‌کند.

مثال

این جریان تجربه کاربری را برای برنامه‌ای نشان می‌دهد که پیوند عمیق به برنامه YouTube دارد، جایی که کاربر در صفحه «راه‌اندازی جاری‌سازی زنده تلفن همراه» فرود می‌آید.

  1. ابتدا، کاربر جاری‌سازی را پیکربندی می‌کند و عنوان، حالت حریم خصوصی، و دیگر گزینه‌های جاری‌سازی را تنظیم می‌کند.
  2. سپس، کاربر به صفحه «عکس ریزعکس» می‌رود تا تصویر ریزعکسی برای جاری‌سازی تنظیم کند.
  3. درنهایت، کاربر جاری‌سازی زنده را شروع می‌کند و نمای دوربین جلو یا پشت را پخش می‌کند.

صفحه راه‌اندازی جاری‌سازی زنده با تلفن همراه صفحه عکس کوچک صفحه پخش جاری‌سازی زنده از دستگاه همراه

الزامات دستگاه

دستگاه‌های Android باید شرایط زیر را داشته باشند تا بتوانند به‌درستی از جاری‌سازی زنده YouTube و پیوند عمیق Mobile Live پشتیبانی کنند:

  • نسخه Android: Marshmallow (میانای برنامه‌سازی کاربردی ۲۳) یا بالاتر
  • دوربین: حداقل یک دوربین با قابلیت ضبط 720p با حداقل ۳۰ هرتز
  • میکروفون: میکروفون داخلی
  • کدبند صوتی: کدبند صوتی با شتاب سخت‌افزاری که قادر به کدبندی صدای تک‌کاناله PCM‏ ۸ بیتی به AAC با بسامد ۴۴٫۱ کیلوهرتز یا بهتر باشد
  • کدبند ویدیو: کدبند ویدیو با شتاب سخت‌افزاری که قادر به کدبندی ویدیو خام 720P به H.264/AVC با فرکانس ۳۰ هرتز یا بهتر باشد
  • برنامه YouTube نصب‌شده: نسخه ۱۳.۰۲ یا بالاتر

مشخصات Mobile Live Intent

برای پیوند دادن به جریان جاری‌سازی زنده YouTube برای تلفن همراه، برنامه Android شما یک Intent راه‌اندازی می‌کند. Intent با شروع کردن فعالیت در برنامه YouTube، فرایند جاری‌سازی زنده را آغاز می‌کند.

قالب هدف

«هدف پخش زنده تلفن همراه» از یک رشته Action سفارشی برای پیمایش به «فعالیت» ایجاد پخش زنده در برنامه YouTube استفاده می‌کند. همچنین نام بسته را برای برنامه YouTube برای تلفن همراه مشخص می‌کند.

  • اقدام: «com.google.android.youtube.intent.action.CREATE_LIVE_STREAM»
  • بسته: «com.google.android.youtube»

Intent extras

فرایند راه‌اندازی برنامه YouTube پیکربندی جاری‌سازی را مدیریت می‌کند. موارد اضافی «هدف» زیر پارامترهای مرتبط با جاری‌سازی زنده را تنظیم می‌کنند:

پارامترها
Intent.EXTRA_REFERRER الزامی. این پارامتر شناسه منبع یکسانی را مشخص می‌کند که نشان‌دهنده برنامه‌ای است که «فعالیت» جاری‌سازی زنده را راه‌اندازی می‌کند. این مقدار باید از قالب android-app: scheme با نام بسته پیروی کند. این مقدار امکان اسناد و حسابداری دقیق را فراهم می‌کند.
Intent.EXTRA_SUBJECT اختیاری. این پارامتر شرح نوشتاری جاری‌سازی زنده را ارائه می‌دهد. این مقدار به‌عنوان رشته در بسته Intent extras قرار می‌گیرد. از این مقدار می‌توان برای حاشیه‌نویسی جاری‌سازی با پیام نمانام‌دار استفاده کرد، مثلاً «جاری‌سازی زنده از دستگاه».

درحال راه‌اندازی جریان جاری‌سازی زنده

دو مرحله زیر را برای درستی‌سنجی سازگاری دستگاه و شروع «فعالیت زنده تلفن همراه» از برنامه Android خود تکمیل کنید.

مرحله ۱: بررسی پشتیبانی

مشتری شما باید ابتدا تأیید کند که Mobile Live Intent می‌تواند با تأیید اینکه برنامه YouTube روی دستگاه نصب شده است و نسخه برنامه YouTube از جاری‌سازی زنده پشتیبانی می‌کند، راه‌اندازی شود. نمونه کد زیر دو روش برای انجام این کار تعریف می‌کند:

  • روش canResolveMobileLiveIntent تأیید می‌کند که دستگاه از Mobile Live Intent پشتیبانی می‌کند.

  • 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> resolveInfo =
    pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
  return resolveInfo != null && !resolveInfo.isEmpty();
}


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

برنامه‌هایی که Android نسخه ۱۱ (سطح میانای برنامه‌سازی کاربردی ۳۰) یا بالاتر را هدف قرار می‌دهند باید الزامات رؤیت‌پذیری بسته را در فایل AndroidManifest.xml اعلام کنند تا PackageManager بتواند برنامه YouTube را پرسمان کند:

<queries>
  <package android:name="com.google.android.youtube" />
  <intent>
    <action android:name="com.google.android.youtube.intent.action.CREATE_LIVE_STREAM" />
  </intent>
</queries>

مرحله ۲: راه‌اندازی فعالیت جاری‌سازی زنده

برای شروع جریان جاری‌سازی زنده، برنامه مشتری شما یک 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);
}