YouTube-Livestreams auf Android-Geräten starten

Dieses SDK wurde vollständig eingestellt. Sie wird von YouTube nicht mehr unterstützt oder verwaltet. Verwende stattdessen die YouTube IFrame Player API.

Mit dem YouTube Mobile Live-Deeplink 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 mobilen Livestream über den Android Intent-Mechanismus zu starten.

Beispiel

Dieser Ablauf zeigt die Nutzererfahrung für eine App, bei der Deeplinks zur YouTube-Anwendung weitergeleitet werden, auf der der Nutzer auf den Bildschirm für die Einrichtung des mobilen Livestreams gelangt.

  1. Als Erstes konfiguriert der Nutzer den Stream, wobei er den Titel, den Datenschutzmodus und weitere Streamoptionen festlegt.
  2. Anschließend geht er zum Bildschirm „Miniaturansicht“ und legt ein Thumbnail für den Stream fest.
  3. Abschließend startet der Nutzer den Livestream und sendet die Ansicht von der Front- oder Rückkamera.

Geräteanforderungen

Android-Geräte müssen die folgenden Anforderungen erfüllen, damit Livestreaming auf YouTube und der Deeplink für mobile Livestreams korrekt unterstützt werden:

  • Android-Release:Marshmallow (API 23) oder höher
  • Kamera:Mindestens eine Kamera, die eine Auflösung von 720p und mindestens 30 Hz hat
  • Mikrofon:Mikrofon einrichten
  • Audio-Encoder:Hardwarebeschleunigter Audio-Encoder, der 8-Bit-PCM-Mono-Audio mit 44,1 KHz oder mehr in AAC codieren kann
  • Video-Encoder:Hardwarebeschleunigter Video-Encoder, der 720P-Rohvideo bei H.264/AVC mit 30 Hz oder mehr codieren kann
  • YouTube App installiert:Version 13.02 oder höher

Mobile Live Intent – Spezifikation

Zur Verknüpfung mit dem Livestreaming über YouTube Mobile startet deine Android-App einen Intent. Der Intent initiiert den Livestream, indem er eine Aktivität in der YouTube App startet.

Intent-Format

Mit dem benutzerdefinierten Action-String wird die Aktivität zur Erstellung von Livestreams in der YouTube App aufgerufen. Außerdem wird der Paketname für die mobile YouTube App festgelegt.

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

Intents-Extras

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

Parameter
Absicht.EXTRA_REFERRER Erforderlich. Dieser Parameter gibt einen URI an, der die Anwendung darstellt, die die Livestreaming-Aktivität startet. Dieser Wert muss dem Format android-app: scheme mit einem Paketnamen entsprechen. Der Wert ermöglicht eine genaue Attribution und Buchführung.
Absicht.EXTRA_SUBJECT Optional: Dieser Parameter bietet eine Textbeschreibung des Livestreams. Es wird im Intent-Extras-Set als String platziert. Dieser Wert kann verwendet werden, um den Stream mit einer markenspezifischen Nachricht zu versehen, z. B. „Live von DEVICE gestreamt“.

Livestreaming starten

Schritt 1: Unterstützung suchen

Dein Kunde sollte zuerst überprüfen, ob der Livestream für Mobilgeräte gestartet werden kann. Dazu muss die YouTube App auf dem Gerät installiert sein und die Livestreaming-Funktion der YouTube App muss unterstützt sein. Im folgenden Codebeispiel werden zwei Methoden dafür definiert:

  • Mit der Methode canResolveMobileLiveIntent wird bestätigt, dass das Gerät „Mobile Live Intent“ unterstützt.
  • Mit validateMobileLiveIntent wird die Methode canResolveMobileLiveIntent im Kontext einer if-else-Anweisung aufgerufen.
    • Wenn das Gerät den Intent unterstützt, wird der Livestreamvorgang möglicherweise gestartet.
    • Wenn das Gerät den Intent nicht unterstützt, kann der Nutzer aufgefordert werden, 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: Livestreamaktivität starten

Zum Starten des Livestreamings 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);
}