YouTube-Livestreams auf Android-Geräten starten

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

Beispiel

Dieser Ablauf veranschaulicht die Nutzererfahrung für eine App, die Deeplinks zur YouTube App enthält. Der Nutzer wird dann zum Bildschirm „Einrichtung des mobilen Livestreams“ weitergeleitet.

  1. Zuerst konfiguriert der Nutzer den Stream und legt den Titel, den Datenschutzmodus und andere Streamoptionen fest.
  2. Anschließend wechselt der Nutzer zum Bildschirm „Thumbnail-Foto“, um ein Thumbnail-Bild für den Stream festzulegen.
  3. Zuletzt startet der Nutzer den Livestream und überträgt den Blick von der Front- oder Rückkamera.

Geräteanforderungen

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

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

Spezifikation für Livestreaming-Intents auf Mobilgeräten

Damit die YouTube App auf Mobilgeräten den Livestreaming-Vorgang starten kann, muss deine Android-App einen Intent starten. Der Intent startet den Livestreaming-Prozess, indem eine Aktivität in der YouTube App gestartet wird.

Intent-Format

Der Intent für Livestreams auf Mobilgeräten verwendet einen benutzerdefinierten Action-String, um in der YouTube App zur Aktivität zum Erstellen von Livestreams zu gelangen. Außerdem wird der Paketname für die mobile YouTube App angegeben.

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

Intent-Extras

Die Streamkonfiguration wird über die Einrichtungsabfolge der YouTube-App gesteuert. Mit den folgenden Intent-Extras werden Parameter für den Livestream festgelegt:

Params
Absicht.EXTRA_REFERRER Erforderlich. Dieser Parameter gibt einen URI an, der die Anwendung darstellt, über die die Livestreaming-Aktivität gestartet wird. Dieser Wert muss dem Format android-app: scheme mit einem Paketnamen entsprechen. Der Wert ermöglicht eine genaue Attribution und Abrechnung.
Intent.EXTRA_SUBJECT Optional: Dieser Parameter enthält eine Textbeschreibung des Livestreams. Sie wird als String in das Intent-Extras-Bundle eingefügt. Mit dem Wert kann der Stream mit einer Branding-Nachricht wie „Live gestreamt von GERÄT“ versehen werden.

Livestreaming starten

Schritt 1: Support kontaktieren

Dein Kunde sollte zuerst prüfen, ob der mobile Live-Intent gestartet werden kann. Dazu muss die YouTube App auf dem Gerät installiert sein und die YouTube App-Version muss Livestreaming unterstützen. Im folgenden Codebeispiel werden zwei Methoden dafür definiert:

  • Mit der canResolveMobileLiveIntent-Methode wird geprüft, ob das Gerät den mobilen Live-Intent unterstützt.
  • validateMobileLiveIntent ruft die Methode canResolveMobileLiveIntent im Kontext einer if-else-Anweisung auf.
    • Wenn das Gerät den Intent unterstützt, kann es den Livestream starten.
    • Wenn das Gerät den Intent nicht unterstützt, wird der Nutzer möglicherweise aufgefordert, 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 = 
    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
  }
}

Schritt 2: Livestream-Aktivität starten

Um den Livestreaming-Vorgang zu starten, erstellt und startet Ihre 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);
}