Android Cihazlarda YouTube Canlı Yayınlarını Başlatma

Mobil Cihazlar için YouTube Canlı Yayın derin bağlantısı, Android uygulamalarının doğrudan mobil cihazdan YouTube canlı yayını başlatmasına olanak tanır. Uygulamanın yalnızca, kullanıcının tıklayabileceği bir düğme gibi, Android Intent mekanizmasını kullanarak Mobile Live akışını başlatan bir giriş noktası sağlaması gerekir.

Örnek

Bu akış, YouTube uygulamasına derin bağlantı veren bir uygulamanın kullanıcı deneyimini gösterir. Kullanıcı, mobil canlı yayın kurulumu ekranına yönlendirilir.

  1. Kullanıcı önce yayını yapılandırır, başlığı, gizlilik modunu ve diğer yayın seçeneklerini ayarlar.
  2. Ardından kullanıcı, akış için küçük resim ayarlamak üzere Küçük Resim ekranına gider.
  3. Son olarak kullanıcı, canlı yayını başlatır ve ön veya arka kameradan görüntüyü yayınlar.

Mobil canlı yayın kurulum ekranı Küçük resim fotoğraf ekranı Mobil canlı yayın ekranı

Cihaz Gereksinimleri

Android cihazların, YouTube canlı yayınını ve mobil canlı derin bağlantısını düzgün şekilde desteklemesi için aşağıdaki koşulları karşılaması gerekir:

  • Android sürümü: Marshmallow (API 23) veya sonraki sürümler
  • Kamera: En az 30 Hz'de 720p kayıt yapabilen en az bir kamera
  • Mikrofon: Yerleşik mikrofon
  • Ses kodlayıcı: 8 bit PCM mono sesi 44,1 KHz veya daha yüksek hızda AAC'ye kodlayabilen donanım hızlandırmalı ses kodlayıcı
  • Video kodlayıcı: 720P ham videoyu 30 Hz veya daha yüksek hızda H.264/AVC'ye kodlayabilen donanım hızlandırmalı video kodlayıcı
  • YouTube uygulaması yüklü: Sürüm 13.02 veya daha yeni bir sürüm

Mobil Live Intent spesifikasyonu

Android uygulamanız, Mobil Cihazlar için YouTube canlı yayın akışına bağlanmak için bir Intent başlatır. Intent, YouTube uygulamasında bir Activity başlatarak canlı yayın sürecini başlatır.

Intent biçimi

Mobil Canlı Intent, YouTube uygulamasındaki canlı yayın oluşturma etkinliğine gitmek için özel bir Action dizesi kullanır. Ayrıca YouTube mobil uygulamasının paket adını da belirtir.

  • İşlem: "com.google.android.youtube.intent.action.CREATE_LIVE_STREAM"
  • Paket: "com.google.android.youtube"

Intent extras

YouTube uygulama kurulum akışı, yayın yapılandırmasını yönetir. Aşağıdaki Intent ekleri, canlı yayınla ilişkili parametreleri ayarlar:

Parametreler
Intent.EXTRA_REFERRER Zorunludur. Bu parametre, canlı yayın etkinliğini başlatan uygulamayı temsil eden bir URI belirtir. Bu değer, paket adıyla birlikte android-app: scheme biçiminde olmalıdır. Bu değer, doğru ilişkilendirme ve muhasebe yapılmasını sağlar.
Intent.EXTRA_SUBJECT İsteğe bağlı. Bu parametre, canlı yayının metin açıklamasını sağlar. Intent ekstraları paketine String olarak yerleştirilir. Bu değer, yayına "CİHAZ'dan canlı yayınlandı" gibi markalı bir mesaj eklemek için kullanılabilir.

Canlı yayın akışını başlatma

Cihaz uyumluluğunu doğrulamak ve Android uygulamanızdan mobil Canlı Etkinlik'i başlatmak için aşağıdaki iki adımı tamamlayın.

1. adım: Desteklenip desteklenmediğini kontrol edin

Müşteriniz öncelikle cihazda YouTube uygulamasının yüklü olduğunu ve YouTube uygulaması sürümünün canlı yayını desteklediğini doğrulayarak Mobile Live Intent'in başlatılabileceğini onaylamalıdır. Aşağıdaki kod örneğinde, bu işlemi gerçekleştirmek için iki yöntem tanımlanmıştır:

  • canResolveMobileLiveIntent yöntemi, cihazın Mobile Live Intent'i desteklediğini doğrular.

  • validateMobileLiveIntent, if-else ifadesi bağlamında canResolveMobileLiveIntent yöntemini çağırır.

    • Cihaz, Intent'i destekliyorsa canlı yayın akışını başlatabilir.
    • Cihaz Intent'i desteklemiyorsa kullanıcıdan YouTube uygulamasını yüklemesi veya yeni sürüme geçirmesi istenebilir.
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 11 (API düzeyi 30) veya sonraki sürümleri hedefleyen uygulamalar, PackageManager uygulamasının YouTube uygulamasını sorgulayabilmesi için AndroidManifest.xml dosyasında paket görünürlüğü şartlarını beyan etmelidir:

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

2. adım: Canlı yayın etkinliğini başlatın

Canlı yayın akışını başlatmak için istemci uygulamanız, aşağıdaki kod örneğinde gösterildiği gibi bir Intent oluşturur ve başlatır:

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);
}