Le lien profond YouTube Mobile Live permet aux applications Android de lancer une diffusion en direct YouTube directement depuis un appareil mobile. Une application n'a besoin que d'un point d'entrée, tel qu'un bouton sur lequel l'utilisateur peut cliquer, pour lancer le flux de diffusion en direct sur mobile via le mécanisme d'intent Android.
Exemple
Ce flux montre l'expérience utilisateur d'une application qui utilise des liens profonds vers l'application YouTube, où l'utilisateur accède à l'écran de configuration de la diffusion en direct sur mobile.
- Tout d'abord, l'utilisateur configure le flux, en définissant le titre, le mode de confidentialité et d'autres options de diffusion.
- L'utilisateur accède ensuite à l'écran "Photo miniature" pour définir une image miniature pour le flux.
- Enfin, l'utilisateur lance la diffusion en direct et diffuse la vue de la caméra avant ou arrière.
Configuration requise pour l'appareil
Les appareils Android doivent respecter les conditions suivantes pour être compatibles avec les diffusions en direct YouTube et le lien profond vers les diffusions en direct sur mobile:
- Version d'Android:Marshmallow (API 23) ou version ultérieure
- Caméra:au moins une caméra capable d'enregistrer en 720p à au moins 30 Hz
- Microphone:micro intégré
- Encodeur audio:encodeur audio avec accélération matérielle capable d'encoder des fichiers audio PCM 8 bits mono vers AAC à 44,1 kHz ou plus
- Encodeur vidéo:encodeur vidéo avec accélération matérielle capable d'encoder la vidéo brute 720p au format H.264/AVC à 30 Hz ou mieux
- Application YouTube installée:version 13.02 ou ultérieure
Spécification de l'intent Mobile Live
Pour s'intégrer au flux de diffusion en direct YouTube sur mobile, votre application Android lance un intent. L'intent lance le processus de diffusion en direct en démarrant une activité dans l'application YouTube.
Format de l'intent
L'intent Mobile Live utilise une chaîne Action
personnalisée pour accéder à l'activité de création de direct dans l'application YouTube. Il spécifie également le nom du package de l'application mobile YouTube.
- Action : "
com.google.android.youtube.intent.action.CREATE_LIVE_STREAM
" - Package : "
com.google.android.youtube
"
Éléments supplémentaires de l'intent
Le processus de configuration de l'application YouTube gère la configuration du flux. Les extras d'intent suivants définissent les paramètres associés à la diffusion en direct:
Paramètres | |
---|---|
Intent.EXTRA_REFERRER | Obligatoire. Ce paramètre spécifie un URI qui représente l'application qui lance l'activité de diffusion en direct. Cette valeur doit respecter le format android-app: scheme avec un nom de package. Cette valeur permet d'effectuer une attribution et une comptabilité précises. |
IntentionEXTRA_SUBJECT | Facultatif. Ce paramètre fournit une description textuelle de la diffusion en direct. Il est placé dans le bundle d'extras d'intents en tant que chaîne. Cette valeur peut être utilisée pour annoter le flux avec un message de marque, tel que "Diffusé en direct depuis DEVICE". |
Lancer le flux de diffusion en direct
Étape 1: Vérifiez la prise en charge
Votre client doit d'abord confirmer que l'intent en direct sur mobile peut être lancé en vérifiant que l'application YouTube est installée sur l'appareil et que la version de l'application YouTube est compatible avec la diffusion en direct. L'exemple de code suivant définit deux méthodes pour ce faire:
- La méthode
canResolveMobileLiveIntent
vérifie que l'appareil est compatible avec l'intent Mobile Live. validateMobileLiveIntent
appelle la méthodecanResolveMobileLiveIntent
dans le contexte d'une instructionif-else
.- Si l'appareil est compatible avec l'intent, il peut lancer le flux de diffusion en direct.
- Si l'appareil n'est pas compatible avec l'intent, il peut inviter l'utilisateur à installer ou à mettre à niveau l'application 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(); 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 } }
Étape 2: Lancez l'activité de diffusion en direct
Pour lancer le flux de streaming en direct, votre application cliente crée et lance un intent, comme indiqué dans l'exemple de code suivant:
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); }