O link direto do YouTube para dispositivos móveis permite que apps Android iniciem uma transmissão ao vivo do YouTube diretamente de um dispositivo móvel. O app só precisa fornecer um ponto de entrada, como um botão em que o usuário pode clicar, que inicia o fluxo do Mobile Live usando o mecanismo de intent do Android.
Exemplo
Esse fluxo mostra a experiência do usuário em um app que tem um link direto para o aplicativo do YouTube, em que o usuário acessa a tela de configuração da transmissão ao vivo em dispositivos móveis.
- Primeiro, o usuário configura a transmissão, definindo o título, o modo de privacidade e outras opções.
- Em seguida, o usuário acessa a tela "Foto da miniatura" para definir uma imagem de miniatura para a transmissão.
- Por fim, o usuário inicia a transmissão ao vivo e transmite a visualização da câmera frontal ou traseira.

Requisitos do dispositivo
Os dispositivos Android precisam atender aos seguintes requisitos para oferecer suporte adequado às transmissões ao vivo do YouTube e ao link direto do Mobile Live:
- Versão do Android: Marshmallow (API 23) ou mais recente
- Câmera: pelo menos uma câmera capaz de gravar em 720p a pelo menos 30 Hz.
- Microfone: microfone integrado
- Codificador de áudio: codificador de áudio com aceleração de hardware capaz de codificar áudio mono PCM de 8 bits para AAC a 44,1 KHz ou mais
- Codificador de vídeo: codificador de vídeo com aceleração de hardware capaz de codificar vídeo bruto de 720p para H.264/AVC a 30 Hz ou mais
- App YouTube instalado: versão 13.02 ou mais recente
Especificação da intenção em tempo real para dispositivos móveis
Para vincular ao fluxo de transmissão ao vivo do YouTube para dispositivos móveis, seu app Android inicia uma intent. A intent inicia o processo de transmissão ao vivo ao iniciar uma atividade no app YouTube.
Formato da intent
A intent de transmissão ao vivo para dispositivos móveis usa uma string Action personalizada para navegar até a atividade de criação de transmissão ao vivo no app YouTube. Ela também especifica o nome do pacote do app YouTube para dispositivos móveis.
- Ação:
"
com.google.android.youtube.intent.action.CREATE_LIVE_STREAM" - Pacote:
"
com.google.android.youtube"
Extras de intent
O fluxo de configuração do aplicativo do YouTube processa a configuração do stream. Os seguintes extras de intent definem parâmetros associados à transmissão ao vivo:
| Parâmetros | |
|---|---|
| Intent.EXTRA_REFERRER | Obrigatório. Esse parâmetro especifica um URI que representa o aplicativo que inicia a atividade de transmissão ao vivo. Esse valor precisa seguir o formato android-app: scheme com um nome de pacote. O valor permite uma atribuição e uma contabilização precisas. |
| Intent.EXTRA_SUBJECT | Opcional. Esse parâmetro fornece uma descrição em texto da transmissão ao vivo. Ele é colocado no pacote de extras da intent como uma String. O valor pode ser usado para anotar a transmissão com uma mensagem de marca, como "Transmitido ao vivo do DISPOSITIVO". |
Como iniciar o fluxo de transmissão ao vivo
Conclua as duas etapas a seguir para verificar a compatibilidade do dispositivo e iniciar a Atividade em Tempo Real para Dispositivos Móveis no seu app Android.
Etapa 1: verificar se há suporte
Primeiro, o cliente precisa confirmar se a intent de transmissão ao vivo para dispositivos móveis pode ser iniciada. Para isso, verifique se o app YouTube está instalado no dispositivo e se a versão dele é compatível com transmissões ao vivo. O exemplo de código a seguir define dois métodos para fazer isso:
O método
canResolveMobileLiveIntentverifica se o dispositivo é compatível com a Mobile Live Intent.O
validateMobileLiveIntentchama o métodocanResolveMobileLiveIntentno contexto de uma instruçãoif-else.- Se o dispositivo for compatível com a intent, ele poderá iniciar o fluxo de transmissão ao vivo.
- Se o dispositivo não for compatível com a intent, ele poderá solicitar que o usuário instale ou atualize o 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
}
}
Os apps destinados ao Android 11 (nível 30 da API) ou versões mais recentes precisam declarar os requisitos de
visibilidade do pacote
no arquivo AndroidManifest.xml para que o PackageManager possa
consultar o aplicativo do YouTube:
<queries>
<package android:name="com.google.android.youtube" />
<intent>
<action android:name="com.google.android.youtube.intent.action.CREATE_LIVE_STREAM" />
</intent>
</queries>
Etapa 2: iniciar a atividade de transmissão ao vivo
Para iniciar o fluxo de transmissão ao vivo, o app cliente cria e inicia uma Intent, conforme mostrado no exemplo de código a seguir:
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);
}