Erste Schritte mit dem IVS Android Broadcast SDK | Streaming in Echtzeit
Dieses Dokument führt Sie durch die Schritte zum Einstieg in das Android Broadcast SDK von IVS-Streaming in Echtzeit.
Bibliothek installieren
Es gibt mehrere Möglichkeiten, die Android-Broadcast-Bibliothek von Amazon IVS Ihrer Android-Entwicklungsumgebung hinzuzufügen: direkte Verwendung von Gradle, Verwendung von Gradle-Versionskatalogen oder manuelle Installation des SDK.
Direkte Verwendung von Gradle: Fügen Sie die Bibliothek zur build.gradle
-Datei Ihres Moduls hinzu, wie hier gezeigt (für die aktuelle Version des IVS-Broadcast-SDK):
repositories { mavenCentral() } dependencies { implementation 'com.amazonaws:ivs-broadcast:1.27.0:stages@aar' }
Verwendung von Gradle-Versionskatalogen: Fügen Sie zunächst Folgendes in die build.gradle
-Datei Ihres Moduls ein:
implementation(libs.ivs){ artifact { classifier = "stages" type = "aar" } }
Fügen Sie anschließend Folgendes in die libs.version.toml
-Datei ein (für die aktuelle Version des IVS-Broadcast-SDK):
[versions] ivs="1.27.0" [libraries] ivs = {module = "com.amazonaws:ivs-broadcast", version.ref = "ivs"}
Manuelle Installation des SDK: Laden Sie die aktuelle Version von diesem Speicherort herunter:
https://search.maven.org/artifact/com.amazonaws/ivs-broadcast
Laden Sie unbedingt die aar
mit -stages
angehängt herunter.
Außerdem die Kontrolle der Freisprecheinrichtung durch das SDK zulassen: Unabhängig davon, welche Installationsmethode Sie wählen, fügen Sie Ihrem Manifest auch die folgende Berechtigung hinzu, damit das SDK die Freisprecheinrichtung aktivieren und deaktivieren kann:
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
Verwenden des SDK mit Debug-Symbolen
Wir veröffentlichen auch eine Version des Android-Broadcast-SDK, die Debug-Symbole enthält. Sie können diese Version verwenden, um die Qualität von Debug-Berichten (Stack-Traces) in Firebase Crashlytics zu verbessern, falls im IVS-Broadcast-SDK Abstürze auftreten, d. h. libbroadcastcore.so
. Wenn Sie diese Abstürze dem SDK-Team von IVS melden, erleichtern die qualitativ hochwertigeren Stack-Traces die Behebung der Probleme.
Um diese Version des SDK zu verwenden, fügen Sie Folgendes in Ihre Gradle-Build-Dateien ein:
implementation "com.amazonaws:ivs-broadcast:$version:stages-unstripped@aar"
Verwenden Sie die obige Zeile anstelle von:
implementation "com.amazonaws:ivs-broadcast:$version:stages@aar"
Hochladen von Symbolen zu Firebase Crashlytics
Stellen Sie sicher, dass Ihre Gradle-Build-Dateien für Firebase Crashlytics eingerichtet sind. Folgen Sie den Anweisungen von Google hier:
https://firebase.google.com/docs/crashlytics/ndk-reports
Achten Sie darauf, com.google.firebase:firebase-crashlytics-ndk
als Abhängigkeit anzugeben.
Wenn Sie Ihre App für die Veröffentlichung erstellen, muss das Firebase-Crashlytics-Plugin Symbole automatisch hochladen. Führen Sie einen der folgenden Befehle aus, um Symbole manuell hochzuladen:
gradle uploadCrashlyticsSymbolFileRelease
./gradlew uploadCrashlyticsSymbolFileRelease
(Es schadet nicht, wenn Symbole zweimal hochgeladen werden, sowohl automatisch als auch manuell.)
Verhindern, dass Ihre APK-Version größer wird
Vor dem Verpacken der .apk
-Release-Datei versucht das Android-Gradle-Plugin automatisch, Debug-Informationen aus gemeinsam genutzten Bibliotheken (einschließlich der libbroadcastcore.so
-Bibliothek des IVS-Broadcast-SDK) zu entfernen. Manchmal geschieht dies jedoch nicht. Infolgedessen könnte Ihre .apk
-Datei größer werden und Sie könnten vom Android-Gradle-Plugin eine Warnmeldung erhalten, dass es Debug-Symbole nicht entfernen kann und die .so
-Dateien unverändert verpackt. Wenn dies passiert, gehen Sie wie folgt vor:
-
Installieren Sie ein Android-NDK. Jede aktuelle Version funktioniert.
-
Fügen Sie
ndkVersion <your_installed_ndk_version_number>
zurbuild.gradle
-Datei Ihrer Anwendung hinzu. Tun Sie dies auch dann, wenn Ihre Anwendung selbst keinen nativen Code enthält.
Weitere Informationen finden Sie in diesem Problembericht
Berechtigungen anfordern
Ihre App muss die Berechtigung für den Zugriff auf die Kamera und das Mikrofon des Benutzers anfordern. (Dies ist nicht spezifisch für Amazon IVS; es ist für alle Anwendungen erforderlich, die Zugriff auf Kameras und Mikrofone benötigen.)
Hier prüfen wir, ob der Benutzer bereits Berechtigungen erteilt hat und fragen, wenn nicht, nach ihnen:
final String[] requiredPermissions = { Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO }; for (String permission : requiredPermissions) { if (ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) { // If any permissions are missing we want to just request them all. ActivityCompat.requestPermissions(this, requiredPermissions, 0x100); break; } }
Hier erhalten wir die Antwort des Benutzers:
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == 0x100) { for (int result : grantResults) { if (result == PackageManager.PERMISSION_DENIED) { return; } } setupBroadcastSession(); } }