Il deep link di YouTube per il mobile Live consente alle app per Android di avviare un live streaming di YouTube direttamente da un dispositivo mobile. Un'app deve solo fornire un punto di accesso, ad esempio un pulsante su cui l'utente può fare clic, che avvia il flusso di Live mobile utilizzando il meccanismo di intent Android.
Esempio
Questo flusso mostra l'esperienza utente per un'app che rimanda tramite deep link all'applicazione YouTube, dove l'utente arriva alla schermata di configurazione del live streaming mobile.
- Innanzitutto, l'utente configura lo stream, impostando il titolo, la modalità di privacy e altre opzioni dello stream.
- Poi, l'utente accede alla schermata Foto miniatura per impostare un'immagine miniatura per lo stream.
- 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 deep link di Mobile Live:
- Release Android: Marshmallow (API 23) o versioni successive
- Fotocamera: almeno una fotocamera in grado di registrare a 720p ad almeno 30 Hz
- Microfono: microfono integrato
- Encoder audio: encoder audio con accelerazione hardware in grado di codificare l'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 non elaborati a 720p in H.264/AVC a 30 Hz o superiore
- App YouTube installata: versione 13.02 o successive
Specifica Mobile Live Intent
Per collegarsi al flusso di live streaming di YouTube per il mobile, l'app per Android lancia un Intent. L'intent avvia il processo di live streaming avviando un'attività nell'applicazione YouTube.
Formato dell'intent
L'intent Mobile Live utilizza una stringa Action personalizzata per accedere all'Activity di creazione di live streaming nell'app YouTube. Specifica anche il nome del pacchetto per l'app YouTube per il mobile.
- Azione:
"
com.google.android.youtube.intent.action.CREATE_LIVE_STREAM" - Pacchetto:
"
com.google.android.youtube"
Extra degli 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:
| Parametri | |
|---|---|
| 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 del 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 di extra dell'intent come String. Il valore può essere utilizzato per annotare lo stream con un messaggio del brand, ad esempio "In live streaming da DISPOSITIVO". |
Avvio del flusso di live streaming
Completa i due passaggi seguenti per verificare la compatibilità del dispositivo e avviare l'attività mobile in tempo reale dalla tua app per Android.
Passaggio 1: verifica la disponibilità dell'assistenza
Il client deve innanzitutto confermare che l'intent di live mobile può 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
canResolveMobileLiveIntentverifica che il dispositivo supporti l'intent Mobile Live.validateMobileLiveIntentchiama il metodocanResolveMobileLiveIntentnel contesto di un'istruzioneif-else.- Se il dispositivo supporta l'intent, può avviare il flusso di live streaming.
- Se il dispositivo non supporta l'intent, 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> 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
}
}
Le app destinate ad Android 11 (livello API 30) o versioni successive devono dichiarare i requisiti di visibilità del pacchetto nel file AndroidManifest.xml in modo che PackageManager possa eseguire query sull'applicazione YouTube:
<queries>
<package android:name="com.google.android.youtube" />
<intent>
<action android:name="com.google.android.youtube.intent.action.CREATE_LIVE_STREAM" />
</intent>
</queries>
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 nell'esempio di codice seguente:
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);
}