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 que de fournir un point d'entrée, tel qu'un bouton sur lequel l'utilisateur peut cliquer, qui lance le flux Mobile Live via le mécanisme Android Intent.
Exemple
Ce flux montre l'expérience utilisateur pour une application qui utilise des liens profonds vers l'application YouTube, où l'utilisateur arrive sur l'écran de configuration de la diffusion en direct sur mobile.
- L'utilisateur configure d'abord le flux en définissant le titre, le mode de confidentialité et d'autres options.
- L'utilisateur accède ensuite à l'écran "Photo miniature" pour définir une image miniature pour le flux.
- Enfin, l'utilisateur lance le flux vidéo en direct et diffuse la vue de la caméra avant ou arrière.
Configuration requise pour l'appareil
Pour que les appareils Android soient compatibles avec le streaming en direct YouTube et le lien profond vers YouTube En direct sur mobile, ils doivent répondre aux exigences suivantes :
- 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 l'audio PCM mono 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 des vidéos brutes en 720p au format H.264/AVC à 30 Hz ou plus
- Application YouTube installée : version 13.02 ou ultérieure
Spécifications concernant l'intention de l'utilisateur sur mobile
Pour accéder au flux de diffusion en direct de YouTube sur mobile, votre application Android lance une Intent. L'intent lance le processus de streaming en direct en démarrant une Activity dans l'application YouTube.
Format de l'intention
L'intent "Mobile Live" utilise une chaîne Action personnalisée pour accéder à l'activité de création de diffusion en 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"
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 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. Il est placé dans le bundle d'extras d'intent 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 APPAREIL". |
Lancer le flux de diffusion en direct
Étape 1 : Vérifiez la compatibilité
Votre client doit d'abord confirmer que l'intention de diffusion en direct sur mobile peut être lancée en vérifiant que l'application YouTube est installée sur l'appareil et que sa version est compatible avec le streaming 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'intention de streaming en direct sur mobile. validateMobileLiveIntentappelle la méthodecanResolveMobileLiveIntentdans le contexte d'une instructionif-else.- Si l'appareil est compatible avec l'intention, 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();
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
}
} Les applications ciblant Android 11 (niveau d'API 30) ou version ultérieure doivent déclarer les exigences de visibilité des packages 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 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);
}