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



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