Le lien profond YouTube En direct permet aux applications Android de lancer une diffusion en direct YouTube directement depuis un appareil mobile. Une application doit simplement fournir un point d'entrée (un bouton sur lequel l'utilisateur peut cliquer, par exemple) qui lance le flux en direct sur mobile via le mécanisme d'intent Android.
Exemple
Ce parcours présente l'expérience utilisateur d'une application comportant des liens profonds vers l'application YouTube, sur laquelle l'utilisateur est redirigé vers 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 flux.
- L'utilisateur accède ensuite à l'écran "Vignette" afin de définir une miniature pour le flux.
- Enfin, l'utilisateur lance la diffusion en direct et diffuse la vue depuis la caméra avant ou arrière.
Configuration requise de l'appareil
Les appareils Android doivent répondre aux exigences suivantes pour que la diffusion en direct YouTube et le lien profond pour mobile en direct puissent être utilisés correctement:
- 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
- Micro:micro intégré
- Encodeur audio:encodeur audio accéléré par le matériel, capable d'encoder un fichier audio PCM mono 8 bits en AAC à 44,1 KHz ou plus
- Encodeur vidéo:encodeur vidéo accéléré par le matériel capable d'encoder des vidéos brutes de 720p en H.264/AVC avec une fréquence d'au moins 30 Hz
- Application YouTube installée:version 13.02 ou ultérieure
Spécification d'intention pour les diffusions en direct sur mobile
Pour créer une association avec le flux de streaming en direct YouTube pour mobile, votre application Android lance un intent. L'intent lance le processus de diffusion en direct en démarrant une Activity dans l'application YouTube.
Format d'intent
L'intent Mobile Live utilise une chaîne Action
personnalisée pour accéder à l'activité de création en direct dans l'application YouTube. Il spécifie également le nom de package de l'application mobile YouTube.
- Action : "
com.google.android.youtube.intent.action.CREATE_LIVE_STREAM
" - Package: "
com.google.android.youtube
"
Extras d'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 au flux 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 streaming en direct. Cette valeur doit respecter le format android-app: scheme avec un nom de package. Cette valeur permet une attribution et une comptabilité précises. |
Intent.EXTRA_SUBJECT | Facultatif. Ce paramètre fournit une description textuelle de la diffusion en direct. Elle est placée dans le bundle d'extras d'intent en tant que String. La valeur peut être utilisée pour annoter le flux avec un message associé à une marque, tel que "Streaming en direct depuis DEVICE". |
Lancer le flux de diffusion en direct
Étape 1: Recherchez l'assistance
Votre client doit d'abord confirmer que l'intent Mobile Live 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 le streaming en direct. Pour ce faire, l'exemple de code suivant définit deux méthodes:
- 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 à jour 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 démarrer le flux de diffusion 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); }