Precyzyjny link do transmisji na żywo na YouTube na komórki umożliwia aplikacjom na Androida rozpoczynanie transmisji na żywo na YouTube bezpośrednio z urządzenia mobilnego. Aplikacja musi tylko udostępniać punkt wejścia, np. przycisk, który użytkownik może kliknąć, aby rozpocząć proces Mobile Live za pomocą mechanizmu Android Intent.
Przykład
Ten proces pokazuje, jak wygląda korzystanie z aplikacji, która zawiera precyzyjne linki do aplikacji YouTube, gdzie użytkownik trafia na ekran konfiguracji transmisji na żywo na urządzeniu mobilnym.
- Najpierw użytkownik konfiguruje transmisję, ustawiając tytuł, tryb prywatności i inne opcje transmisji.
- Następnie użytkownik przechodzi do ekranu Miniatura, aby ustawić miniaturę transmisji.
- Na koniec użytkownik rozpoczyna transmisję na żywo i transmituje obraz z przedniego lub tylnego aparatu.

Wymagania dotyczące urządzeń
Urządzenia z Androidem muszą spełniać te wymagania, aby prawidłowo obsługiwać transmitowanie na żywo na YouTube i precyzyjny link do transmisji na żywo z urządzenia mobilnego:
- Wersja Androida: Marshmallow (API 23) lub nowsza
- Kamera: co najmniej 1 kamera umożliwiająca nagrywanie w rozdzielczości 720p przy częstotliwości co najmniej 30 Hz.
- Mikrofon: wbudowany mikrofon
- Koder audio: koder audio z akceleracją sprzętową, który może kodować 8-bitowy dźwięk mono PCM do formatu AAC z częstotliwością 44,1 kHz lub wyższą.
- Koder wideo: koder wideo z akceleracją sprzętową, który może kodować nieprzetworzone wideo 720p do formatu H.264/AVC przy 30 Hz lub lepszym.
- Zainstalowana aplikacja YouTube: wersja 13.02 lub nowsza.
Specyfikacja intencji na żywo na urządzeniach mobilnych
Aby połączyć się z procesem transmisji na żywo w YouTube na komórki, aplikacja na Androida uruchamia intencję. Intencja inicjuje proces transmitowania na żywo, uruchamiając aktywność w aplikacji YouTube.
Format intencji
Intencja Mobile Live używa niestandardowego ciągu znaków Action, aby przejść do aktywności tworzenia transmisji na żywo w aplikacji YouTube na komórki. Określa też nazwę pakietu aplikacji YouTube na komórki.
- Działanie: „
com.google.android.youtube.intent.action.CREATE_LIVE_STREAM” - Pakiet:
„
com.google.android.youtube”
Dodatkowe informacje o intencji
Konfiguracja strumienia jest obsługiwana przez proces konfiguracji aplikacji YouTube. Te dodatkowe parametry intencji określają parametry powiązane z transmisją na żywo:
| Parametry | |
|---|---|
| Intent.EXTRA_REFERRER | Wymagany. Ten parametr określa identyfikator URI, który reprezentuje aplikację uruchamiającą aktywność transmisji na żywo. Ta wartość musi być zgodna z formatem android-app: scheme i zawierać nazwę pakietu. Wartość umożliwia dokładną atrybucję i rozliczanie. |
| Intent.EXTRA_SUBJECT | Opcjonalnie. Ten parametr zawiera tekstowy opis transmisji na żywo. Jest on umieszczany w pakiecie dodatków intencji jako String. Wartość może służyć do dodawania do transmisji adnotacji z przekazem marki, np. „Transmisja na żywo z URZĄDZENIA”. |
Uruchamianie procesu transmitowania na żywo
Aby sprawdzić zgodność urządzenia i rozpocząć aktywność na żywo na urządzeniu mobilnym z poziomu aplikacji na Androida, wykonaj te 2 czynności.
Krok 1. Sprawdź, czy usługa jest obsługiwana
Klient powinien najpierw potwierdzić, że intencja transmisji na żywo z urządzenia mobilnego może zostać uruchomiona, sprawdzając, czy aplikacja YouTube jest zainstalowana na urządzeniu i czy jej wersja obsługuje transmitowanie na żywo. Poniższy przykładowy kod definiuje 2 metody, które to umożliwiają:
Metoda
canResolveMobileLiveIntentsprawdza, czy urządzenie obsługuje intencję Mobile Live.validateMobileLiveIntentwywołuje metodęcanResolveMobileLiveIntentw kontekście instrukcjiif-else.- Jeśli urządzenie obsługuje intencję, może uruchomić proces transmisji na żywo.
- Jeśli urządzenie nie obsługuje intencji, może wyświetlić użytkownikowi prośbę 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();
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
}
}
Aplikacje kierowane na Androida 11 (poziom API 30) lub nowszego muszą deklarować wymagania dotyczące widoczności pakietu w pliku AndroidManifest.xml, aby PackageManager mogła wysyłać zapytania do aplikacji YouTube:
<queries>
<package android:name="com.google.android.youtube" />
<intent>
<action android:name="com.google.android.youtube.intent.action.CREATE_LIVE_STREAM" />
</intent>
</queries>
Krok 2. Uruchom aktywność związaną z transmisją na żywo
Aby rozpocząć proces transmitowania na żywo, aplikacja kliencka tworzy i uruchamia obiekt Intent, 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);
}