Lancement de diffusions en direct YouTube sur les appareils Android

Ce SDK a été entièrement abandonné. Il n'est plus pris en charge ni géré par YouTube Veuillez utiliser le API YouTube iFrame Player à la place.

Le lien profond YouTube En direct sur mobile permet aux applications Android de lancer une diffusion YouTube en direct directement depuis un appareil mobile. Une application doit simplement fournir un point d'entrée, comme un bouton sur lequel l'utilisateur peut cliquer, qui lance le flux en direct sur mobile via le mécanisme d'intent Android.

Exemple

Cette procédure présente l'expérience utilisateur pour une application qui propose des liens profonds vers l'application YouTube, vers laquelle l'utilisateur est redirigé vers l'écran de configuration de la diffusion en direct sur mobile.

  1. Tout d'abord, l'utilisateur configure le flux, en définissant le titre, le mode de confidentialité et d'autres options de diffusion.
  2. Il accède ensuite à l'écran "Photo miniature" pour définir une vignette pour le flux.
  3. Enfin, l'utilisateur lance la diffusion en direct et diffuse la vidéo depuis la caméra avant ou arrière.

Configuration requise pour l'appareil

Les appareils Android doivent disposer de la configuration suivante pour être compatibles avec la diffusion en direct sur YouTube et le lien profond en direct sur mobile:

  • Version d'Android:Marshmallow (API 23) ou version ultérieure
  • Caméra:au moins une caméra capable d'enregistrer une résolution de 720p et une fréquence d'au moins 30 Hz
  • Micro: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 accéléré par le matériel capable d'encoder des vidéos brutes en 720p en H.264/AVC à 30 Hz ou plus.
  • Application YouTube installée:version 13.02 ou ultérieure

Spécifications des intents en direct sur mobile

Pour créer un lien vers le flux de diffusion en direct YouTube pour 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 en direct sur mobile utilise une chaîne Action personnalisée pour accéder à l'activité de création en direct dans l'application YouTube. Il indique é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 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.
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'intents en tant que chaîne. Cette valeur permet d'annoter le flux avec un message associé à votre marque, tel que "Diffusée en direct depuis DEVICE".

Lancer le flux de diffusion en direct

Étape 1: Demandez de l'aide

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 à cette fin:

  • La méthode canResolveMobileLiveIntent vérifie que l'appareil est compatible avec le Mobile Live Intent.
  • validateMobileLiveIntent appelle la méthode canResolveMobileLiveIntent dans le contexte d'une instruction if-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 = 
    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 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);
}