El vínculo directo de YouTube en vivo 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 necesita proporcionar un punto de entrada, como un botón en el que el usuario pueda hacer clic, que inicie el flujo de transmisión en vivo para dispositivos móviles a través del mecanismo de intents de Android.
Ejemplo
En este flujo, se muestra la experiencia del usuario de una app que establece vínculos directos con la aplicación de YouTube, en la que el usuario llega a la pantalla de configuración de la transmisión en vivo para dispositivos móviles.
- Primero, el usuario configura la transmisión y establece el título, el modo de privacidad y otras opciones de transmisión.
- Luego, el usuario navega a la pantalla Thumbnail Photo para establecer una imagen de miniatura para 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 para admitir correctamente las transmisiones en vivo de YouTube y el vínculo directo a transmisiones en vivo desde dispositivos móviles:
- Versión de Android: Marshmallow (nivel de API 23) o posterior
- Cámara: Al menos una cámara capaz de grabar en 720p y al menos 30 Hz.
- Micrófono: Micrófono integrado
- Codificador de audio: Codificador de audio acelerado por hardware capaz de codificar audio PCM de 8 bits en AAC a 44.1 KHz o superior
- Codificación de video: Es un codificador de video con aceleración de hardware capaz de codificar video sin procesar de 720p a H.264/AVC a 30 Hz o más.
- App de YouTube instalada: Versión 13.02 o posterior
Especificación del intent de transmisión en vivo desde dispositivos móviles
Para vincularte al flujo de transmisión en vivo de YouTube para dispositivos móviles, tu app para Android inicia un intent. La instancia de Intent inicia el proceso de transmisión en vivo iniciando una actividad en la aplicación de YouTube.
Formato del intent
El intent de transmisión en vivo para dispositivos móviles usa una cadena Action
personalizada para navegar a la actividad de creación en vivo en 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
"
Intent extras
El flujo de configuración de la aplicación de YouTube controla la configuración de la transmisión. Los siguientes extras de intent establecen parámetros asociados con la transmisión en vivo:
Params | |
---|---|
Intent.EXTRA_REFERRER | Obligatorio. Este parámetro especifica un URI que representa 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 una atribución y contabilización precisas. |
Intent.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 del intent como una cadena. El valor se puede utilizar para anotar la transmisión con un mensaje de marca, como "Transmitido en vivo desde DISPOSITIVO". |
Inicio del flujo de transmisión en vivo
Paso 1: Verifica la compatibilidad
Tu cliente primero debe confirmar que se puede iniciar el Intent en vivo para dispositivos móviles. Para ello, debe verificar que la app de YouTube esté instalada en el dispositivo y que la versión de la app de YouTube admita 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 sea compatible con el intent de transmisión en vivo desde dispositivos móviles. validateMobileLiveIntent
llama al métodocanResolveMobileLiveIntent
en el contexto de una sentenciaif-else
.- Si el dispositivo admite el intent, podría iniciar el flujo de transmisión en vivo.
- Si el dispositivo no es compatible con la instancia de Intent, podría solicitarle al usuario que instale o actualice la aplicación 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 y lanza un intent, como se muestra en la siguiente muestra 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); }