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

Bu SDK kullanımdan tamamen kaldırıldı. Bu içerik artık YouTube tarafından desteklenmemektedir veya güncel değildir. Bunun yerine lütfen YouTube IFrame Player API'yi kullanın.

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

Örnek

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

  1. Kullanıcı ilk olarak başlığı, gizlilik modunu ve diğer yayın seçeneklerini ayarlayarak akışı yapılandırır.
  2. Ardından, akış için küçük resim görüntüsü 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ünümü yayınlar.

Cihaz Gereksinimleri

Android cihazlar, YouTube canlı yayınını ve Mobile Live derin bağlantısını doğru bir şekilde desteklemek için aşağıdaki gereksinimleri karşılamalıdır:

  • Android sürümü: Marshmallow (API 23) veya sonraki sürümler
  • Kamera: En az 30 Hz hızda 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 iyi bir düzeyde AAC'ye kodlayabilen donanım hızlandırılmış ses kodlayıcı
  • Video kodlayıcı: 720P ham videoyu H.264/AVC olarak 30 Hz veya daha iyi kalitede kodlayabilen donanım hızlandırılmış video kodlayıcı
  • YouTube uygulaması yüklü: Sürüm 13.02 veya sonraki sürümler

Mobil Canlı Amaç spesifikasyonu

Android uygulamanız, Mobil Cihazlar için YouTube canlı yayın akışına bağlantı oluşturmak üzere bir Niyet başlatır. Amaç, YouTube uygulamasında bir Etkinlik başlatarak canlı yayın sürecini başlatır.

Intent biçimi

Mobil Canlı Amaç, YouTube uygulamasında canlı 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"

Amaç ekstraları

YouTube uygulama kurulum akışı, akış yapılandırmasını yönetir. Aşağıdaki Intent ek özellikleri canlı yayınla ilişkilendirilmiş parametreleri belirler:

Parametreler
Amaç.ADDITIONAL_REFERRER Required. 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çimine uygun olmalıdır. Bu değer, doğru ilişkilendirme ve muhasebe işlemlerinin yapılmasını sağlar.
Amaç.ADDITIONAL_SUBJECT Optional. Bu parametre, canlı yayının metin açıklamasını sağlar. Intent ekstra paketine bir Dize olarak yerleştirilir. Değer, akışa markalı bir mesajla (ör. "DEVICE cihazından canlı yayın yapıldı") ek açıklama eklemek için kullanılabilir.

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

1. Adım: Destek için kontrol edin

Müşteriniz öncelikle YouTube uygulamasının cihazda yüklü olduğunu ve YouTube uygulama 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 bunu yapmak için iki yöntem tanımlanmıştır:

  • canResolveMobileLiveIntent yöntemi, cihazın Mobil Canlı Amaç'ı desteklediğini doğrular.
  • validateMobileLiveIntent, canResolveMobileLiveIntent yöntemini bir if-else ifadesi bağlamında çağırır.
    • Amaç destekleniyorsa canlı yayın akışı başlatılabilir.
    • 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 Niyet 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);
}