Avvio dei live streaming di YouTube su dispositivi Android

Questo SDK è stato completamente deprecato. Non è più supportato o gestito da YouTube. Utilizza API YouTube iframe Player.

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 fornire solo un punto di accesso, ad esempio un pulsante su cui l'utente può fare clic, che avvii il flusso Mobile Live tramite il meccanismo Android Intent.

Esempio

Questo flusso mostra l'esperienza utente per un'app con link diretti all'applicazione YouTube, dove l'utente viene indirizzato alla schermata di configurazione del live streaming mobile.

  1. Innanzitutto, l'utente configura lo stream, impostando il titolo, la modalità privacy e altre opzioni dello stream.
  2. Quindi, l'utente passa alla schermata Foto in miniatura per impostare un'immagine in miniatura per lo stream.
  3. Infine, l'utente avvia il live streaming e trasmette la visione 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 per il live streaming mobile:

  • Release di Android: Marshmallow (API 23) o versioni successive
  • Fotocamera: almeno una videocamera in grado di registrare 720p ad almeno 30 Hz
  • Microfono: microfono integrato
  • Codificatore audio:codificatore audio con accelerazione hardware in grado di codificare l'audio in formato 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 successiva

Specifica per Mobile Live Intent

Per collegarti al flusso di live streaming di YouTube 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'intento

Mobile Live Intent 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 dell'app YouTube per il mobile.

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

Extra per intent

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

Parametri
Intent.EXTRA_REFERRER Required. Questo parametro specifica un URI che rappresenta l'applicazione che avvia l'attività di live streaming. Questo valore deve essere nel formato android-app: scheme con un nome di pacchetto. Il valore consente un'attribuzione e una contabilità accurate.
Intent.EXTRA_SUBJECT Facoltativo. Questo parametro fornisce una descrizione testuale del live streaming. Viene inserita nel bundle Intent Extras come String. 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: verifica la presenza di assistenza

Il cliente deve prima confermare che Mobile Live Intent possa essere avviato verificando che l'app YouTube sia installata sul dispositivo e che la versione dell'app YouTube supporti il live streaming. Il seguente esempio di codice definisce due metodi per farlo:

  • Il metodo canResolveMobileLiveIntent verifica che il dispositivo supporti Mobile Live Intent.
  • validateMobileLiveIntent chiama il metodo canResolveMobileLiveIntent nel contesto di un'istruzione if-else.
    • Se il dispositivo supporta Intent, potrebbe avviare il flusso del live streaming.
    • Se il dispositivo non supporta l'intent, il dispositivo potrebbe chiedere all'utente di installare o eseguire l'upgrade dell'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 lancia 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);
}