Überblick: Brightcove Natives SDK für Android
Dokumentationsstruktur
Wir bei Brightcove bemühen uns, die Dokumentation strukturiert, sauber und intuitiv zu halten. Daher nutzen wir github READMEs für Details zu all unseren Plugins und Integrationen. Der Einfachheit halber haben wir diese Plugins unten aufgelistet und verlinkt.
Android-Unterstützung
Das Native SDK für Android bietet Unterstützung für die folgenden Versionen von Android:
Aktive Unterstützung
Brightcove bietet aktiven Support für das neueste Android SDK für die folgenden Android-Versionen:
- 12,0
- 11,0
- 10.0
- 9,0
- 8.0, 8.1
- 7.0, 7.1
- 6.0
Passive Unterstützung
Brightcove bietet passiven Support für die folgenden Android-Versionen:
- 5.0, 5.1
Unterstützungsstufen verstehen
Unterstützung wird definiert in Bezug auf die [Hauptversion].[Nebenversion] eines Betriebssystems (zum Beispiel: Android 8.1). Um von den neuesten Technologieverbesserungen von Google zu profitieren, bieten wir zwei Supportstufen an:
- Aktiv: Brightcove testet und behebt Fehler in diesen Betriebssystemversionen.
- Passiv: Brightcove wird diese Betriebssystemversionen testen, aber Fehlerkorrekturen werden von Fall zu Fall behandelt.
Im Allgemeinen bietet Brightcove aktiven Support für die Versionen des Betriebssystems, die von 80 % der Benutzerbasis verwendet werden, und passiven Support für andere Versionen, die von mindestens 5 % der Benutzerbasis verwendet werden.
Unterstützung der Android-Variante
Das Brightcove Native SDK für Android wurde für die Hauptversionen des Android-Betriebssystems entwickelt und mit diesen getestet. Brightcove unterstützt offiziell keine Aftermarket-Distributionen von Android, wie z. B. LineageOS.
Benutzer von Geräten, auf denen unterschiedliche Android-Versionen laufen, können Probleme mit Anwendungen haben, die mit dem Native SDK für Android entwickelt wurden.
Connected TV / Set-Top-Boxen
Das Native SDK für Android bietet Unterstützung für die folgenden Android-basierten Set-Top-Boxen:
- Android-TV
- Fire TV (FireOS 5.0+ Geräte)
Zu den Set-Top-Box-Geräten, mit denen wir getestet haben, gehören:
- Nexus-Player
- Nvidia-Schild
Die Brightcove Native SDK für Android-Beispiel-Apps funktioniert auf Android TV und Fire TV. Das bedeutet, dass Ihre TV-basierten Apps Werbung, Inhaltsschutz (DRM), Live-Wiedergabe, benutzerdefinierte UI-Steuerelemente, Brightcove Analytics und QoE-Metriken umfassen können.
Besuche die Beispiel-App für gestylte Steuerelemente Weitere Informationen zum Gestalten der UI-Steuerelemente in Ihrer TV-App.
Erste Schritte
Bevor Sie mit der Entwicklung mit dem Android SDK beginnen, sollten Sie sich mit einigen Konzepten vertraut machen:
- Medien
Die aktuelle Version des nativen SDK unterstützt die Wiedergabe von Inhalten aus Ihrem Video Cloud-Konto über die Playback-API oder als Remote-Assets mit über das Internet zugänglichen URLs.
- Analytik
Mit dem nativen SDK erhalten Video Cloud-Kunden automatisch zuverlässige Analysedaten, die in Video Cloud gemeldet werden.
- Gradle
Gradle ist die Grundlage des Android SDK-Buildsystems und in Android Studio integriert.
- Maven-Repository
Der Brightcove Native Player für Android Maven-Artefakte (JAR-Dateien) ist jetzt im Brightcove Maven Repo verfügbar - https://repo.brightcove.com/releases
- Android SDK-Übersicht
Um das SDK besser zu verstehen, erfahren Sie, wie kritische Komponenten interagieren, um die Komplexität der Steuerung des nativen Videoplayers zu bewältigen.
- Erstellen Sie eine App mit dem Native SDK für Android
Erstellen Sie Ihre erste App mit dem Brightcove Native SDK für Android, die ein Video von Ihrem eigenen Backend-System abspielt. Video Cloud-Kunden können zusätzlich ein Video vom Brightcove-Katalogdienst abrufen und wiedergeben.
- Video-on-Demand-Schulung
Sehen Sie sich eine Reihe von Schulungsvideos an, die Sie durch die Schritte zum Erstellen einer App in Android Studio führen, die ein Video und eine Playlist aus Ihrer Video Cloud-Bibliothek abspielt.
- Mailingliste
Treten Sie der Brightcove Native SDKs-Mailingliste bei, um über die Veröffentlichung der Native SDKs informiert zu werden.
Laden Sie das SDK herunter
Holen Sie sich die neueste Version des Brightcove Native SDK für Android:
Paket (Github Repo) |
Referenzdokumentation | Hinweise | Unterstütztes Framework | Proben | |
---|---|---|---|---|---|
SDK | Natives SDK für Android v8.0.0 | SDK-Referenz | Versions-Hinweise | ExoPlayer 2.17.1 | Beispielanwendungen |
oder wählen Sie diese Schaltfläche:
Um die Produktaktualisierungen für alle Native SDKs und die zugehörigen Plugins anzuzeigen, lesen Sie die Versionshinweise für die Brightcove Native SDKs dokumentieren.
Hinweise
Die folgenden Hinweise beziehen sich auf die neueste Version des Native SDK:
-
Ab Version 6.10.0 verwendet das Native SDK von Brightcove für Android die Jetpack-Bibliotheken (androidx.*) anstelle der ursprünglichen Supportbibliotheken. Diese Änderung ist für Exoplayer-Version 2.10.0 und höher erforderlich. Um Jetpack verwenden zu können, müssen Ihre Apps die folgenden Anforderungen erfüllen:
- Migration zu Jetpack (AndroidX) Abhängigkeiten
- Android Gradle-Tools 3.2.0
- Gradle-Version 4.6
Weitere Informationen zur Migration zu JetPack finden Sie im offiziellen Anleitung zur Android-Migration.
- Die vom Brightcove Native SDK für Android unterstützte Android Minimum SDK-Version ist jetzt 19.
- Für ExoPlayer v2.17.1 müssen Sie die Unterstützung von Java 11 aktivieren. Fügen Sie dazu dem Abschnitt android in der build.gradle-Datei Ihrer Anwendung Folgendes hinzu. Einzelheiten finden Sie unter ExoPlayer von Android dokumentieren.
android { compileOptions { targetCompatibility JavaVersion.VERSION_11 } }
Dies überschreibt die Standard-Java-Version basierend auf dem Projekt
compileSdkVersion
Wert.
Core-SDK-Installation
Die Installation des Brightcove-Core-SDK ist sehr einfach. Dazu gibt es zwei Möglichkeiten:
Verwenden des Gradle-Build-Systems
Die einfachste Möglichkeit, das Brightcove SDK und seine Abhängigkeiten hinzuzufügen, besteht darin, das Gradle-Buildsystem in Android Studio zu verwenden.
In der Gradle-Community wird davon abgeraten, eine dynamische Abhängigkeitsversion mit dem Zeichen '+' zu verwenden. Die Verwendung der dynamischen Versionsverwaltung birgt ein erhebliches Risiko für Ihren Build-Prozess, da neuere APIs möglicherweise unerwartet mit dem Quellcode Ihrer App inkompatibel werden.
Weitere Informationen zur Verwendung von Gradle finden Sie unter Android's Build-Abhängigkeiten hinzufügen Dokumentation.
Manuelles Herunterladen des SDK
Sie können das Brightcove SDK auch wie folgt manuell herunterladen:
- Laden Sie einfach das SDK herunter und entpacken Sie es. Sie finden eine Reihe von Ordnern.
- Innerhalb der sdk Ordner finden Sie das Core SDK mit dem Namen android-sdk-xxxaar , wo xxx ist die neueste SDK-Versionsnummer.
- Ergänzen Sie die android-sdk-xxxaar Datei in Ihre Bibliothek, zusammen mit allen Plugin-Dateien, die Sie möglicherweise benötigen.
Integrationen
Die folgende Tabelle enthält Links, um Plug-ins in Ihre SDK-Implementierung zu integrieren. Die Plugins können von ihren jeweiligen Github-Repos heruntergeladen werden, und jedes Repository enthält eine detaillierte README mit Anweisungen zum Einrichten des Plugins.
Die Beispielanwendungen demonstrieren die grundlegende Funktionalität jedes Plugins, das in das SDK integriert ist. Diese Beispiel-Apps sind eine gute Möglichkeit, sich mit den einzelnen Plugins vertraut zu machen, und dienen als Referenzpunkt beim Debuggen.
Kategorie | Brightcove-Plug-in | Referenz Dokumentation | Beispiel-Apps | Unterstütztes Partner-/Anbieter-Plug-in |
---|---|---|---|---|
Werbung | Freilauf-Plugin 8.0.0 [1] | FreeWheel-Referenz | Basic FreeWheel-Beispiel | FreeWheel AdManager-Bibliothek 6.28.0 |
FreeWheel mit Widevine Modular Sample | ||||
IMA-Plugin 8.0.0 [2] | IMA-Referenz | Anzeigenregeln mit IMA-Beispiel | Google IMA 3.27.0 | |
Anzeigenregeln mit IMA- und Widevine-Beispiel | ||||
Grundlegendes IMA VAST-Beispiel | ||||
Puls-Plugin 8.0.0 | Pulsreferenz | Pulsprobe | Puls SDK 2.5.20.3.0 | |
SSAI-Plugin 8.0.0 | SSAI-Referenz | Basis-SSAI-Beispiel | Keine | |
Analytik | Omniture-Plugin 8.0.0 [3] | Omniture-Referenz | AdobeVideoLibrary 4.11.0 VideoHeartbeat 2.0.0 |
|
Chromecast | Cast-Plugin 8.0.0 | Besetzungsreferenz | Brightcove-Empfänger-Beispiel Google Receiver-Beispiel |
ExoPlayer Cast Extension 2.17.1 |
Plugins kombinieren
Mit dem Native SDK für Android lassen sich die meisten Plugins kombinieren. Dies Beispiel-App zeigt Ihnen, wie Sie den Brightcove ExoPlayer mit Google IMA-Anzeigen und Inhaltsschutz mit Widevine Modular verwenden.
Proben
Brightcove empfiehlt die Verwendung der BrightcoveExoPlayerVideoView
Umsetzung, wenn möglich. Beispiele und Codeausschnitte finden Sie unter:
- Alle Beispiele für das Brightcove Native SDK für Android
- brightcove-exoplayer Ordner – Beispiele verwenden die ExoPlayer-Implementierung.
- Brightcove-Player-Steuerung Ordner – Konzepte können mit der ExoPlayer-Implementierung verwendet werden.
- Code-Snippets zur Unterstützung bei bestimmten Aufgaben
Die folgende Tabelle enthält Links zu Codebeispielen, die zusätzlich zu den Beispielen für die Integrationen im vorherigen Abschnitt vorhanden sind.
Beispielanwendung | Beschreibung |
---|---|
Basisbeispiel | Erstellen Sie eine einfache App, die Videos aus Ihrer Video Cloud-Bibliothek abspielt. |
Chromecast | Übertragen Sie Ihre Videos auf einen mit Chromecast verbundenen Fernseher. Eine Übersicht finden Sie im Das Cast-Plugin für das Native SDK für Android dokumentieren. |
Benutzerdefinierte Steuerelemente | Passen Sie die Player-Steuerelemente an. |
DRM mit Widevine | Schützen Sie Ihre Inhalte mit Widevine. Das Android-Framework unterstützt Widevine Modular bei Verwendung der ExoPlayer-Videoansicht. Einzelheiten finden Sie im Widevine-Referenz. |
Liveübertragung | Erstellen Sie eine App, die einen HLS-Livestream ausführt. |
Offline-Wiedergabe | Laden Sie DASH-Videos herunter und spielen Sie sie ab, einschließlich solcher, die mit Widevine-Verschlüsselung geschützt sind. Eine Übersicht finden Sie im Offline-Wiedergabe mit den nativen SDKs dokumentieren. |
Remote-Video | Laden Sie ein Video von einem Remote-Server. |
Videoliste | Benutze einen RecyclerView um eine Reihe von Videos zu bearbeiten. |
360°-Video | Spielt ein 360°-Video ab, solange die Projektionseigenschaft eingestellt ist. Wenn die Video 360-Schaltfläche in der Steuerleiste angetippt wird, wird das Video im VR-Goggles-Modus mit nebeneinander liegenden Bildern angezeigt. Einzelheiten finden Sie im 360°-Videos mit den Mobile SDKs verwenden dokumentieren. |
Lösungsleitfäden
Die folgende Tabelle enthält Links zu Entwicklerdokumenten, die Ihnen den Einstieg in Ihre eigene App mit dem Brightcove Native SDK erleichtern und Sie durch einige der verfügbaren Features und Funktionen führen.
Handbuch | Beschreibung |
---|---|
Einrichtung des nativen Brightcove-SDK für Android | Lernen Sie die Grundlagen der Arbeit mit dem Brightcove Native SDK für Android kennen, indem Sie durch die Entwicklung einer einfachen Videowiedergabe-App mit Content aus Ihrem eigenen Backend-System geführt werden. Video Cloud-Kunden rufen zusätzlich ein Video vom Brightcove-Katalogdienst ab und spielen es ab. |
Plugins erstellen | Erfahren Sie, wie Sie ein Plugin für das Brightcove Native SDK für Android erstellen. |
Ansichtslayout verwalten | Erfahren Sie, wie Sie das Layout einer Ansicht verwalten, die dem hinzugefügt wurde BrightcoveVideoView . |
Handhabung von Ausrichtungsänderungen | Erfahren Sie, wie Sie unerwünschtes Standardverhalten verwalten, wenn sich die Ausrichtung ändert. |
IAB Offene Messung | Erfahren Sie, wie Sie das Open Measurement SDK mit dem IMA-Plug-in verwenden, um Tools von Drittanbietern für die Anzeigenmessung und -überprüfung zu unterstützen. |
Quellenauswahl | Erfahren Sie mehr über den standardmäßigen Wiedergabeauswahlprozess beim Abspielen eines Videos. |
Verwenden von Brightcove Analytics | Erfahren Sie, wie Sie Eigenschaften in Brightcove Analytics über Ihre mobile App mit dem Brightcove SDK für Android festlegen. |
Arbeiten mit Player-Steuerelementen | Erfahren Sie, wie Sie Player-Steuerelemente anpassen und ausblenden. |
Empfohlene Vorgehensweise
Hier finden Sie zusätzliche Informationen, die bei der Arbeit mit dem Brightcove Native SDK hilfreich sein können.
Werbung mit IMA
Die Platzierung von VAST-Anzeigen wird normalerweise durch ein VMAP-Dokument festgelegt. VAST beschreibt eine Anzeige, während VMAP die Platzierung von Anzeigen in einem Video beschreibt. Codedetails finden Sie im Folgenden:
- AdRulesIMASampleApp
- AdRulesIMAWidevineModulareSampleApp
Wenn Sie mit IMA-Anzeigen arbeiten, sollten Sie vor der Implementierung prüfen, ob Ihre Anzeigen außerhalb des SDK funktionieren. Folgende Links sind dabei hilfreich:
- Google VAST Ad Response Validator
- Leitfaden für digitale Video-Wiedergabelisten (Multiple Ad Playlist, VMAP)
- Technisches Google IMA-Forum
Companion-Anzeigen
Companion-Anzeigen und Click-through-Anzeigen werden auf Android TV nicht unterstützt. Da Android TV keine Webbrowser-Unterstützung bietet, gibt es kein Ziel für eine Klick-URL.
Arbeiten mit ProGuard
Verwenden von ProGuard ermöglicht es Ihnen, sicherere Apps zu erstellen, was das Reverse Engineering erschwert. ProGuard ist in das Android-Build-System integriert, sodass Sie es aktivieren oder ohne es erstellen können.
Wenn Sie eine Fehlermeldung erhalten, wenn ProGuard in Gradle aktiviert ist, versuchen Sie, die folgenden Ausschlussregeln hinzuzufügen:
-dontwarn com.google.**
-dontwarn android.media.**
-keep class android.media.** { *; }
-keep class com.google.** { *; }
-keep interface com.google.** { *; }
-keep class com.google.ads.interactivemedia.** { *; }
-keep interface com.google.ads.interactivemedia.** { *; }
Um eine vollständige Liste der ProGuard-Regeln zu erhalten, die vom Brightcove Native SDK verwendet werden, laden Sie die aktuelles Native SDK für Android. Öffne das sdk Ordner und sehen Sie sich die proguard.txt
Datei.
Wiedergabeverhalten
Auf bestimmten Android-Geräten stellen Sie möglicherweise einige der folgenden Wiedergabeverhalten fest:
Videopause
Androids Intelligente Pause Funktion auf Samsung-Geräten hält ein Video an, wenn der Benutzer vom Gerätebildschirm wegschaut. Sie können diese Funktion deaktivieren, wenn Sie nicht möchten, dass Videos auf Smart Pause-fähigen Geräten angehalten werden.