Le lien profond YouTube pour mobile Live permet aux applications Android de lancer une diffusion en direct YouTube directement depuis un appareil mobile. Une application n'a besoin de fournir qu'un point d'entrée, tel qu'un bouton sur lequel l'utilisateur peut cliquer, qui démarre le flux Mobile Live à l'aide du mécanisme d'intent Android.
Exemple
Ce flux montre l'expérience utilisateur d'une application avec lien profond 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 la diffusion 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 d'appareil requise
Les appareils Android doivent répondre aux exigences suivantes pour prendre en charge correctement la diffusion en direct sur YouTube et le lien profond Mobile Live :
- 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ération matérielle capable d'encoder du contenu audio mono PCM 8 bits au format AAC à 44,1 kHz ou plus
- Encodeur vidéo : encodeur vidéo avec accélération matérielle capable d'encoder une vidéo brute 720p en H.264/AVC à 30 Hz ou plus
- Application YouTube installée : version 13.02 ou ultérieure
Spécification de l'intention de diffusion en direct sur mobile
Pour créer un lien vers le flux de streaming 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 d'intent
L'intent de diffusion en direct sur mobile utilise une chaîne Action personnalisée pour accéder à l'activité de création de diffusion en direct dans l'application YouTube pour mobile. Il spécifie également le nom du package de l'application YouTube pour mobile.
- Action :
"
com.google.android.youtube.intent.action.CREATE_LIVE_STREAM" - Package : "
com.google.android.youtube"
Extras d'intent
Le flux 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 lançant l'activité de diffusion en direct. Cette valeur doit respecter le format android-app: scheme avec un nom de package. Cette valeur permet d'assurer une attribution et une comptabilisation précises. |
| Intent.EXTRA_SUBJECT | Facultatif. Ce paramètre fournit une description textuelle de la diffusion en direct. Il est placé dans le bundle d'extras de l'intent en tant que String. Cette valeur peut être utilisée pour annoter le flux avec un message de marque, tel que "Diffusé en direct depuis APPAREIL". |
Lancement du flux de streaming en direct
Suivez les deux étapes ci-dessous pour vérifier la compatibilité de l'appareil et démarrer l'activité en direct sur mobile depuis votre application Android.
Étape 1 : Vérifiez la compatibilité
Votre client doit d'abord confirmer que l'intent de diffusion 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
canResolveMobileLiveIntentvérifie que l'appareil est compatible avec l'intent Mobile Live.validateMobileLiveIntentappelle la méthodecanResolveMobileLiveIntentdans 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();
List<ResolveInfo> resolveInfo =
pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
return resolveInfo != null && !resolveInfo.isEmpty();
}
private void validateMobileLiveIntent(Context context) {
if (canResolveMobileLiveIntent(context)) {
// Launch the livestream Activity
} else {
// Prompt user to install or upgrade the YouTube app
}
}
Les applications ciblant Android 11 (niveau d'API 30) ou version ultérieure doivent déclarer les exigences de visibilité du package dans le fichier AndroidManifest.xml afin que PackageManager puisse interroger l'application YouTube :
<queries>
<package android:name="com.google.android.youtube" />
<intent>
<action android:name="com.google.android.youtube.intent.action.CREATE_LIVE_STREAM" />
</intent>
</queries>
Étape 2 : Lancez l'activité de diffusion en direct
Pour démarrer le flux de streaming en direct, votre application cliente crée et lance un intent, comme illustré 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);
}