YouTube-Livestreams auf Android-Geräten starten

Mit dem Deeplink für YouTube Mobile Live können Android-Apps einen YouTube-Livestream direkt von einem Mobilgerät aus starten. Eine App muss nur einen Einstiegspunkt bereitstellen, z. B. eine Schaltfläche, auf die der Nutzer klicken kann, um den Mobile Live-Ablauf über den Android Intent-Mechanismus zu starten.

Beispiel

In diesem Ablauf wird die Nutzererfahrung für eine App gezeigt, die einen Deeplink zur YouTube App enthält, über den der Nutzer auf dem Bildschirm „Livestream auf Mobilgeräten einrichten“ landet.

  1. Zuerst konfiguriert der Nutzer den Stream und legt den Titel, den Datenschutzmodus und andere Streamoptionen fest.
  2. Anschließend ruft der Nutzer den Bildschirm „Thumbnail Photo“ auf, um ein Thumbnail-Bild für den Stream festzulegen.
  3. Schließlich startet der Nutzer den Livestream und überträgt die Ansicht der Front- oder Rückkamera.

Bildschirm zum Einrichten eines Livestreams auf einem Mobilgerät Bildschirm mit Miniaturansicht des Fotos Bildschirm für Livestreamübertragung auf Mobilgeräten

Geräteanforderungen

Android-Geräte müssen die folgenden Anforderungen erfüllen, damit YouTube-Livestreaming und der Deeplink für Mobile Live richtig unterstützt werden:

  • Android-Version: Marshmallow (API 23) oder höher
  • Kamera: Mindestens eine Kamera, die 720p mit mindestens 30 Hz aufnehmen kann
  • Mikrofon: Integriertes Mikrofon
  • Audio-Encoder: Hardwarebeschleunigter Audio-Encoder, der 8-Bit-PCM-Mono-Audio in AAC mit 44,1 kHz oder höher codieren kann
  • Video-Encoder: Hardwarebeschleunigter Video-Encoder, der Rohvideos mit 720p in H.264/AVC mit 30 Hz oder besser codieren kann
  • Installierte YouTube App: Version 13.02 oder höher

Spezifikation für Live Intent auf Mobilgeräten

Wenn du den YouTube Mobile-Livestreaming-Prozess verknüpfen möchtest, startet deine Android-App einen Intent. Der Intent initiiert den Livestreaming-Prozess, indem er eine Aktivität in der YouTube App startet.

Intent-Format

Der Mobile Live Intent verwendet einen benutzerdefinierten Action-String, um zur Aktivität für die Live-Erstellung in der YouTube App zu navigieren. Außerdem wird der Paketname für die YouTube Mobile App angegeben.

  • Aktion: „com.google.android.youtube.intent.action.CREATE_LIVE_STREAM“
  • Paket: „com.google.android.youtube“

Intent-Extras

Die Streamkonfiguration wird über die YouTube-Anwendungseinrichtung vorgenommen. Mit den folgenden Intent-Extras werden Parameter für den Livestream festgelegt:

Parameter
Intent.EXTRA_REFERRER Erforderlich. Dieser Parameter gibt einen URI an, der die Anwendung darstellt, die die Livestreaming-Aktivität startet. Dieser Wert muss das Format android-app: scheme mit einem Paketnamen haben. Der Wert ermöglicht eine genaue Zuordnung und Abrechnung.
Intent.EXTRA_SUBJECT Optional: Dieser Parameter enthält eine Textbeschreibung des Livestreams. Sie wird als String im Intent-Extras-Bundle platziert. Der Wert kann verwendet werden, um den Stream mit einer Markenbotschaft zu versehen, z. B. „Live gestreamt von GERÄT“.

Livestreaming-Ablauf starten

Führe die folgenden beiden Schritte aus, um die Gerätekompatibilität zu prüfen und die Mobile Live Activity über deine Android-App zu starten.

Schritt 1: Support prüfen

Dein Client sollte zuerst prüfen, ob der Mobile Live Intent gestartet werden kann. Dazu muss er prüfen, ob die YouTube App auf dem Gerät installiert ist und ob die Version der YouTube App Livestreaming unterstützt. Im folgenden Codebeispiel werden zwei Methoden dafür definiert:

  • Mit der Methode canResolveMobileLiveIntent wird geprüft, ob das Gerät den Mobile Live Intent unterstützt.

  • Der validateMobileLiveIntent ruft die Methode canResolveMobileLiveIntent im Kontext einer if-else-Anweisung auf.

    • Wenn das Gerät den Intent unterstützt, kann es den Livestream-Ablauf starten.
    • Wenn das Gerät den Intent nicht unterstützt, kann es den Nutzer auffordern, die YouTube App zu installieren oder zu aktualisieren.
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
  }
}

Apps, die auf Android 11 (API-Level 30) oder höher ausgerichtet sind, müssen die Anforderungen an die Paketsichtbarkeit in der Datei AndroidManifest.xml deklarieren, damit PackageManager die YouTube App abfragen kann:

<queries>
  <package android:name="com.google.android.youtube" />
  <intent>
    <action android:name="com.google.android.youtube.intent.action.CREATE_LIVE_STREAM" />
  </intent>
</queries>

Schritt 2: Livestream-Aktivität starten

Um den Livestreaming-Vorgang zu starten, erstellt und startet deine Client-App einen Intent, wie im folgenden Codebeispiel gezeigt:

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