Глубокая ссылка YouTube Mobile Live позволяет приложениям Android инициировать прямую трансляцию YouTube непосредственно с мобильного устройства. Приложению требуется только предоставить точку входа, например кнопку, которую может нажать пользователь, которая запускает поток Mobile Live через механизм Android Intent.
Пример
Этот поток показывает взаимодействие с пользователем приложения, которое глубоко ссылается на приложение YouTube, где пользователь попадает на экран настройки Mobile Live Stream.
- Сначала пользователь настраивает поток, устанавливая заголовок, режим конфиденциальности и другие параметры потока.
- Затем пользователь переходит к экрану «Миниатюра фото», чтобы установить миниатюру изображения для потока.
- Наконец, пользователь запускает прямую трансляцию и транслирует вид с передней или задней камеры.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/youtube/android/live/images/mobile-live-intent1.png?authuser=0000&hl=ru)
![](https://developers-dot-devsite-v2-prod.appspot.com/static/youtube/android/live/images/mobile-live-intent2.png?authuser=0000&hl=ru)
![](https://developers-dot-devsite-v2-prod.appspot.com/static/youtube/android/live/images/mobile-live-intent3.png?authuser=0000&hl=ru)
Требования к устройству
Устройства 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(); 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 } }
Шаг 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); }