Mobil Cihazlar için YouTube Canlı derin bağlantısı, Android uygulamalarının doğrudan bir mobil cihazdan YouTube canlı yayını başlatmasına olanak tanır. Bir uygulamanın yalnızca, Android Intent mekanizması aracılığıyla Mobil Canlı Akışı başlatan ve kullanıcının tıklayabileceği bir düğme gibi bir giriş noktası sağlaması gerekir.
Örnek
Bu akış, YouTube uygulamasına derin bağlantı oluşturan ve kullanıcıyı Mobil Canlı Yayın Kurulum ekranına yönlendiren bir uygulamanın kullanıcı deneyimini gösterir.
- Öncelikle kullanıcı yayını yapılandırarak başlığı, gizlilik modunu ve diğer yayın seçeneklerini ayarlar.
- Ardından, kullanıcı akış için bir küçük resim ayarlamak üzere Küçük Resim Fotoğraf ekranına gider.
- Son olarak kullanıcı, canlı yayını başlatır ve ön veya arka kameradan görüntüyü yayınlar.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/youtube/android/live/images/mobile-live-intent1.png?authuser=9&hl=tr)
![](https://developers-dot-devsite-v2-prod.appspot.com/static/youtube/android/live/images/mobile-live-intent2.png?authuser=9&hl=tr)
![](https://developers-dot-devsite-v2-prod.appspot.com/static/youtube/android/live/images/mobile-live-intent3.png?authuser=9&hl=tr)
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 iyi bir hızda AAC'ye kodlayabilen donanım hızlandırmalı ses kodlayıcı
- Video kodlayıcı: 720P ham videoyu 30 Hz veya daha iyi hızlarda H.264/AVC olarak kodlayabilen donanım hızlandırmalı video kodlayıcı
- Yüklenen YouTube uygulaması sayısı: 13.02 veya sonraki sürüm
Mobile Live Intent spesifikasyonu
Android uygulamanız, Mobil Cihazlar için YouTube canlı yayın akışına bağlantı oluşturmak için bir Amaç'ı başlatır. Intent, YouTube uygulamasında Etkinlik başlatarak canlı yayın sürecini başlatır.
Amaç biçimi
Mobil Canlı Yayın Amacı, YouTube uygulamasındaki canlı yayın oluşturma etkinliğine gitmek için özel bir Action
dizesi kullanır. 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ı
Canlı yayın yapılandırması, YouTube uygulama kurulum akışıyla gerçekleştirilir. 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ıyla birlikte android-app: scheme biçimine uygun olmalıdır. Değer, doğru ilişkilendirme ve hesaplama sağlar. |
Intent.EXTRA_SUBJECT | İsteğe bağlı. Bu parametre, canlı yayının metin açıklamasını sağlar. Intent ekstra paketine bir String olarak yerleştirilir. Değer, "DEVICE üzerinden canlı yayınlandı" gibi markalı bir mesajla akışa 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 Mobil Canlı Intent'in başlatılabileceğini onaylamalıdır. Aşağıdaki kod örneğinde bunu yapmak için iki yöntem tanımlanmaktadır:
canResolveMobileLiveIntent
yöntemi, cihazın Mobil Canlı Intent'i desteklediğini doğrular.validateMobileLiveIntent
, birif-else
ifadesi bağlamındacanResolveMobileLiveIntent
yöntemini çağırır.- Cihaz, Intent'i destekliyorsa canlı yayın akışını başlatabilir.
- Intent'i desteklemeyen kullanıcılar, kullanıcıdan YouTube uygulamasını yüklemesini veya yeni sürüme geçirmesini 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(); ListresolveInfo = 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ş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); }