Ссылка на контент мобильного YouTube позволяет приложениям для Android запускать трансляцию на YouTube прямо с мобильного устройства. Приложению нужно лишь предоставить точку входа, например кнопку, которую пользователь может нажать, чтобы запустить процесс Mobile Live с помощью механизма Android Intent.
Пример
На этой схеме показано, как пользователь переходит по ссылке на контент в приложении YouTube и попадает на экран настройки мобильной трансляции.
- Сначала пользователь настраивает трансляцию: указывает название, тип доступа и другие параметры.
- Затем пользователь переходит на экран "Значок", чтобы установить значок для трансляции.
- Наконец, пользователь запускает трансляцию и начинает вести ее с фронтальной или основной камеры.

Требования к устройствам
Чтобы на устройстве Android можно было проводить трансляции на YouTube и использовать ссылку на контент Mobile Live, оно должно соответствовать следующим требованиям:
- Версия Android: Marshmallow (API 23) или более поздняя.
- Камера. По крайней мере одна камера, способная записывать видео с разрешением 720p и частотой не менее 30 Гц.
- Микрофон: встроенный микрофон.
- Аудиокодер: аппаратный аудиокодер, способный кодировать 8-битный монофонический звук PCM в AAC с частотой 44,1 кГц или выше.
- Видеокодер. Аппаратный видеокодер с аппаратным ускорением, способный кодировать необработанное видео в формате 720p в H.264/AVC с частотой 30 Гц или выше.
- Установленное приложение YouTube версии 13.02 или более поздней.
Спецификация намерения для мобильных трансляций
Чтобы связать приложение с функцией трансляций в мобильном приложении YouTube, ваше приложение Android запускает Intent. Объект Intent запускает процесс трансляции, начиная действие в приложении YouTube.
Формат намерения
Для перехода к созданию трансляции в приложении YouTube используется специальная строка Action. Также указывается название пакета для мобильного приложения YouTube.
- Действие: "
com.google.android.youtube.intent.action.CREATE_LIVE_STREAM". - Пакет:
"
com.google.android.youtube"
Intent extras
Настройка трансляции выполняется в приложении YouTube. Ниже перечислены дополнительные параметры, которые можно задать для трансляции.
| Параметры | |
|---|---|
| Intent.EXTRA_REFERRER | Обязательный параметр. Этот параметр указывает URI, который представляет приложение, запускающее Activity прямой трансляции. Значение должно соответствовать формату android-app: scheme с названием пакета. Это значение позволяет точно атрибутировать и учитывать конверсии. |
| Intent.EXTRA_SUBJECT | Это необязательный параметр. Этот параметр содержит текстовое описание трансляции. Он помещается в пакет Intent extras в виде строки. Это значение можно использовать для добавления в трансляцию фирменного сообщения, например "Прямая трансляция с УСТРОЙСТВА". |
Запуск трансляции
Чтобы проверить совместимость устройства и запустить интерактивное уведомление из приложения Android, выполните следующие два шага.
Шаг 1. Проверьте, поддерживается ли функция
Клиент должен сначала убедиться, что Mobile Live Intent можно запустить, проверив, установлено ли приложение YouTube на устройстве и поддерживает ли версия приложения YouTube прямую трансляцию. В следующем примере кода определены два метода для этого:
Метод
canResolveMobileLiveIntentпроверяет, поддерживает ли устройство намерение Mobile Live.validateMobileLiveIntentвызывает методcanResolveMobileLiveIntentв контексте оператораif-else.- Если устройство поддерживает Intent, то оно может запустить трансляцию.
- Если устройство не поддерживает Intent, пользователю может быть предложено установить или обновить приложение 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
}
}
В приложениях, предназначенных для Android 11 (уровень API 30) или более поздних версий, необходимо объявить требования к видимости пакетов в файле AndroidManifest.xml, чтобы PackageManager мог запрашивать приложение YouTube.
<queries>
<package android:name="com.google.android.youtube" />
<intent>
<action android:name="com.google.android.youtube.intent.action.CREATE_LIVE_STREAM" />
</intent>
</queries>
Шаг 2. Запустите трансляцию
Чтобы запустить трансляцию, клиентское приложение создает и запускает объект Intent, как показано в примере кода ниже.
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);
}