El vínculo directo de YouTube para dispositivos móviles permite que las aplicaciones para Android inicien una transmisión en vivo de YouTube directamente desde un dispositivo móvil. Una app solo debe proporcionar un punto de entrada, como un botón en el que el usuario pueda hacer clic, que inicie el flujo de Mobile Live mediante el mecanismo de intent de Android.
Ejemplo
Este flujo muestra la experiencia del usuario en una app que se vincula directamente con la aplicación de YouTube, adonde llega al usuario en la pantalla de configuración de la transmisión en vivo desde dispositivo móvil.
- En primer lugar, el usuario configura la transmisión mediante el título, el modo de privacidad y otras opciones de transmisión.
- Luego, el usuario navega a la pantalla Miniatura de la foto para configurar la imagen en miniatura de la transmisión.
- Por último, el usuario inicia la transmisión en vivo y transmite la vista desde la cámara frontal o posterior.
Requisitos del dispositivo
Los dispositivos Android deben cumplir con los siguientes requisitos a fin de admitir correctamente la transmisión en vivo de YouTube y el vínculo directo a la transmisión en vivo desde dispositivos móviles:
- Versión de Android: Marshmallow (API 23) o versiones posteriores
- Cámara: Al menos una cámara que puede grabar 720p a 30 Hz
- Micrófono: Micrófono integrado
- Codificador de audio: Codificador de audio acelerado por hardware capaz de codificar audio mono-PCM de 8 bits a AAC a 44.1 KHz o superior
- Codificador de video: Codificador de video acelerado por hardware capaz de codificar videos sin procesar con una resolución de 720p a H.264/AVC a 30 Hz o superior
- App de YouTube instalada: Versión 13.02 o posterior
Especificación de Mobile Live Intent
Para vincular al flujo de transmisión en vivo de YouTube para dispositivos móviles, tu app para Android inicia un Intent. Para iniciar el proceso de transmisión en vivo, el intent inicia una Activity en la aplicación de YouTube.
Formato del intent
Mobile Intent de Mobile usa una string Action
personalizada para navegar a la actividad de creación en vivo dentro de la app de YouTube. También especifica el nombre del paquete de la app de YouTube para dispositivos móviles.
- Acción: "
com.google.android.youtube.intent.action.CREATE_LIVE_STREAM
" - Paquete: "
com.google.android.youtube
"
Extras de intents
El flujo de configuración de la aplicación de YouTube controla la configuración de la transmisión. Los siguientes extras de intents establecen parámetros asociados con la transmisión en vivo:
Parámetros | |
---|---|
Intent.EXTRA_REFERRER | Obligatorio: Este parámetro especifica un URI que representa a la aplicación que inicia la actividad de transmisión en vivo. Este valor debe seguir el formato android-app: scheme con un nombre de paquete. El valor permite la atribución y la contabilidad precisas. |
Intención.EXTRA_SUBJECT | Opcional: Este parámetro proporciona una descripción de texto de la transmisión en vivo. Se coloca en el paquete de extras de intent como una String. El valor se puede usar para anotar la transmisión con un mensaje de marca, como “Transmisión en vivo desde DEVICE”. |
Cómo iniciar el flujo de transmisión en vivo
Paso 1: Verifica la compatibilidad
Primero, tu cliente debe confirmar que el intent para dispositivos móviles en vivo se pueda iniciar verificando que la app de YouTube esté instalada en el dispositivo y que la versión de la app de YouTube es compatible con la transmisión en vivo. En la siguiente muestra de código, se definen dos métodos para hacerlo:
- El método
canResolveMobileLiveIntent
verifica que el dispositivo admita el intent en vivo para dispositivos móviles. - El
validateMobileLiveIntent
llama al métodocanResolveMobileLiveIntent
en el contexto de una sentenciaif-else
.- Si el dispositivo admite el intent, puede iniciar el flujo de la transmisión en vivo.
- Si el dispositivo no admite el intent, podría solicitar al usuario que instale o actualice la app de 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(); ListresolveInfo = 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 } }
Paso 2: Inicia la actividad de transmisión en vivo
Para iniciar el flujo de transmisión en vivo, tu app cliente crea e inicia un intent como se muestra en el siguiente ejemplo de código:
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); }