Avvio dei live streaming di YouTube su dispositivi Android

Il link diretto a YouTube Mobile Live consente alle applicazioni Android di avviare un live streaming di YouTube direttamente da un dispositivo mobile. Un'app deve solo fornire un punto di contatto, ad esempio un pulsante su cui l'utente può fare clic, che avvii il flusso di live streaming mobile tramite il meccanismo Intent di Android.

Esempio

Questo flusso mostra l'esperienza utente di un'app che rimanda all'applicazione YouTube, dove l'utente arriva alla schermata di configurazione del live streaming mobile.

  1. Innanzitutto, l'utente configura lo stream impostando il titolo, la modalità di privacy e altre opzioni.
  2. L'utente passa quindi alla schermata Foto miniatura per impostare un'immagine in miniatura per lo stream.
  3. Infine, l'utente avvia il live streaming e trasmette la visuale dalla fotocamera anteriore o posteriore.

Requisiti del dispositivo

I dispositivi Android devono soddisfare i seguenti requisiti per supportare correttamente il live streaming di YouTube e il link diretto al live streaming mobile:

  • Release Android: Marshmallow (API 23) o versioni successive
  • Videocamera:almeno una videocamera in grado di registrare a 720p ad almeno 30 Hz
  • Microfono: microfono integrato
  • Codificatore audio:codificatore audio con accelerazione hardware in grado di codificare audio mono PCM a 8 bit in AAC a 44,1 KHz o superiore
  • Codificatore video: codificatore video con accelerazione hardware in grado di codificare video raw da 720P in formato H.264/AVC a partire da 30 Hz
  • App YouTube installata: versione 13.02 o successive

Specifiche dell'intent di live streaming mobile

Per collegarti al flusso di live streaming di YouTube per il mobile, la tua app per Android avvia un Intent. L'intent avvia il processo di live streaming avviando un'attività nell'applicazione YouTube.

Formato dell'intent

L'intent live mobile utilizza una stringa Action personalizzata per passare all'attività di creazione di live streaming all'interno dell'app YouTube. Specifica inoltre il nome del pacchetto per l'app mobile YouTube.

  • Azione: "com.google.android.youtube.intent.action.CREATE_LIVE_STREAM"
  • Pacchetto: "com.google.android.youtube"

Componenti aggiuntivi per gli intent

Il flusso di configurazione dell'applicazione YouTube gestisce la configurazione dello stream. I seguenti extra di Intent impostano i parametri associati al live streaming:

Params
Intent.EXTRA_REFERRER Required. Questo parametro specifica un URI che rappresenta l'applicazione che avvia l'attività di live streaming. Questo valore deve seguire il formato android-app: scheme con un nome pacchetto. Il valore consente un'attribuzione e una contabilità accurate.
Intent.EXTRA_SUBJECT Facoltativo. Questo parametro fornisce una descrizione testuale del live streaming. Viene inserito nel bundle degli extra intent come stringa. Il valore può essere utilizzato per annotare lo stream con un messaggio con brand, ad esempio "Trasmesso in live streaming da DEVICE".

Avvio del flusso di live streaming

Passaggio 1: controlla se è disponibile assistenza

Il cliente deve prima verificare che l'intent di live streaming mobile possa essere lanciato controllando che l'app YouTube sia installata sul dispositivo e che la versione dell'app supporti il live streaming. Il seguente esempio di codice definisce due metodi per farlo:

  • Il metodo canResolveMobileLiveIntent verifica che il dispositivo supporti l'intent di live streaming mobile.
  • validateMobileLiveIntent chiama il metodo canResolveMobileLiveIntent nel contesto di un'istruzione if-else.
    • Se il dispositivo supporta l'intent, può avviare il flusso del live streaming.
    • Se il dispositivo non supporta l'intent, potrebbe chiedere all'utente di installare o aggiornare l'app 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
  }
}

Passaggio 2: avvia l'attività di live streaming

Per avviare il flusso di live streaming, l'app client crea e avvia un'intent come mostrato nel seguente esempio di codice:

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);
}