Rozpoczynanie transmisji na żywo w YouTube na urządzeniach z Androidem

Ten pakiet SDK został w pełni wycofany. Nie jest już obsługiwana ani obsługiwana przez YouTube Użyj YouTube IFrame Player API.

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.

  1. Najpierw użytkownik konfiguruje transmisję, ustawiając tytuł, tryb prywatności i inne opcje.
  2. Następnie użytkownik przechodzi do ekranu Miniatura zdjęcia, aby ustawić obraz miniatury dla strumienia.
  3. 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 instrukcji if-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();
  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
  }
}

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);
}