Precyzyjny link YouTube na żywo na komórki umożliwia aplikacjom na Androida inicjowanie transmisji na żywo w YouTube bezpośrednio na urządzeniu mobilnym. Aplikacja musi tylko udostępnić punkt wejścia, na przykład przycisk, który użytkownik może kliknąć, który rozpoczyna proces transmisji na żywo z urządzeń mobilnych za pomocą mechanizmu intencji Androida.
Przykład
Ten proces przedstawia wrażenia użytkownika aplikacji, która zawiera precyzyjne linki do aplikacji YouTube, i trafia na ekran konfiguracji mobilnej transmisji na żywo.
- Najpierw użytkownik konfiguruje transmisję, ustawiając tytuł, tryb prywatności i inne opcje.
- Następnie użytkownik przechodzi do ekranu Miniatura zdjęcia, aby ustawić obraz miniatury dla strumienia.
- Na koniec użytkownik rozpoczyna transmisję na żywo i przesyła obraz z przedniego lub tylnego aparatu.
Wymagania dotyczące urządzenia
Urządzenia z Androidem muszą spełniać te wymagania, aby zapewnić prawidłową obsługę transmisji na żywo w YouTube i precyzyjnego linku na żywo z urządzeń mobilnych:
- Wersja Androida: Marshmallow (API 23) lub nowsza
- Kamera: co najmniej 1 kamera z możliwością nagrywania w rozdzielczości 720p przy co najmniej 30 Hz.
- Mikrofon: wbudowany mikrofon
- Koder audio: sprzętowy koder audio, który umożliwia kodowanie 8-bitowego dźwięku mono PCM w formacie AAC o częstotliwości 44,1 kHz lub wyższej
- Koder wideo: sprzętowy koder wideo, który umożliwia kodowanie nieprzetworzonych filmów 720P w jakości H.264/AVC o częstotliwości 30 Hz lub wyższej.
- Zainstalowana aplikacja YouTube: wersja 13.02 lub nowsza
Specyfikacja Mobile Live Intent
Aby dodać link do transmisji na żywo w YouTube na komórki, Twoja aplikacja na Androida uruchamia intencję. Intencja inicjuje proces transmisji na żywo, uruchamiając działanie w aplikacji YouTube.
Format intencji
Intencja dotycząca transmisji na żywo na urządzeniach mobilnych używa niestandardowego ciągu Action
, aby przejść do aktywności związanej z tworzeniem transmisji na żywo w aplikacji YouTube. Podaje on też nazwę pakietu aplikacji mobilnej YouTube.
- Działanie: „
com.google.android.youtube.intent.action.CREATE_LIVE_STREAM
” - Pakiet: „
com.google.android.youtube
”
Dodatkowe zamiary
Konfiguracja strumienia jest obsługiwana przez proces konfiguracji aplikacji YouTube. Te dodatki intencji ustawiają parametry powiązane z transmisją na żywo:
Parametry | |
---|---|
Intent.EXTRA_REFERRER | Wymagany. Ten parametr określa identyfikator URI, który reprezentuje aplikację uruchamiającą działanie związane z transmisją na żywo. Ta wartość musi być w formacie android-app: scheme z nazwą pakietu. Ta wartość umożliwia dokładną atrybucję i księgowanie. |
Intent.EXTRA_SUBJECT | Opcjonalnie. Ten parametr zawiera opis tekstowy transmisji na żywo. Ciąg znaków jest umieszczany w pakiecie dodatków intencji jako ciąg znaków. Za pomocą tej wartości możesz dodać do strumienia komunikat dotyczący marki, np. „Transmisja na żywo z urządzenia DEVICE”. |
Rozpoczynanie transmisji na żywo
Krok 1. Poproś o pomoc
Twój klient powinien najpierw potwierdzić, że intencja mobilna transmisji na żywo może zostać uruchomiona. W tym celu powinien sprawdzić, czy na urządzeniu zainstalowana jest aplikacja YouTube i czy jej wersja obsługuje transmitowanie na żywo. Następujący przykładowy kod definiuje dwie metody:
- Metoda
canResolveMobileLiveIntent
sprawdza, czy urządzenie obsługuje intencję na żywo na urządzenia mobilne. - Funkcja
validateMobileLiveIntent
wywołuje metodęcanResolveMobileLiveIntent
w kontekście instrukcjiif-else
.- Jeśli urządzenie obsługuje intencję, może uruchomić transmisję na żywo.
- Jeśli urządzenie nie obsługuje intencji, urządzenie może poprosić użytkownika o zainstalowanie lub uaktualnienie aplikacji 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 } }
Krok 2. Rozpocznij aktywność związaną z transmisją na żywo
Aby rozpocząć proces transmisji na żywo, aplikacja kliencka tworzy i uruchamia intencję, jak pokazano w tym przykładowym kodzie:
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); }