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

YouTube Mobil Canlı derin bağlantısı, Android uygulamalarının doğrudan mobil cihazdan YouTube canlı yayını başlatmasını sağlar. Uygulamanın tek yapması gereken, Android Intent mekanizması aracılığıyla Mobil Canlı akışını başlatan bir giriş noktası (ör. kullanıcının tıklayabileceği bir düğme) sağlamaktır.

Örnek

Bu akış, YouTube uygulamasına derin bağlantı veren bir uygulamanın kullanıcı deneyimini gösterir. Bu uygulamada kullanıcı, Mobil Canlı Yayın Kurulumu ekranına yönlendirilir.

  1. Öncelikle kullanıcı yayını yapılandırarak başlığı, gizlilik modunu ve diğer yayın seçeneklerini ayarlar.
  2. Ardından kullanıcı, canlı yayın için küçük resim ayarlamak üzere Küçük Resim Fotoğrafı 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.

Cihaz Gereksinimleri

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

  • Android sürümü: Marshmallow (API 23) veya sonraki sürümler
  • Kamera: En az 30 Hz 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 bir 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 olarak kodlayabilen donanımla hızlandırılmış video kodlayıcı
  • YouTube uygulaması yüklü: 13.02 veya sonraki sürümler

Mobile Live Intent spesifikasyonu

Android uygulamanız, YouTube mobil canlı yayın akışına bağlantı oluşturmak için bir Intent başlatır. Intent, YouTube uygulamasında bir etkinlik başlatarak canlı yayın sürecini başlatır.

Amaç biçimi

Mobil canlı yayın isteği, YouTube uygulamasındaki canlı içerik 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 ekstraları

Akış yapılandırması, YouTube uygulama kurulum akışı tarafından yönetilir. Aşağıdaki Intent ekstraları, 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ı içeren android-app: scheme biçimine uymalıdır. Bu değer, doğru ilişkilendirme ve muhasebe sağlar.
Amaç.EXTRA_SUBJECT İsteğe bağlı. Bu parametre, canlı yayının metin açıklamasını sağlar. Intent ekstraları paketine dize olarak yerleştirilir. Bu değer, yayına "DEVICE'dan canlı yayın" gibi markalı bir mesajla ek açıklama eklemek için kullanılabilir.

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

1. adım: Destek olup olmadığını kontrol edin

Müşteriniz, öncelikle YouTube uygulamasının cihaza yüklü olduğunu ve YouTube uygulaması sürümünün canlı yayını desteklediğini doğrulayarak Mobil Canlı Yayın Intent'inin başlatılabileceğini onaylamalıdır. Aşağıdaki kod örneğinde, bunu yapmanın iki yöntemi tanımlanmaktadır:

  • canResolveMobileLiveIntent yöntemi, cihazın Mobil Canlı 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üklemesini veya yükseltmesini isteyebilir.
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. 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şturup 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);
}