Übersicht
In dieser Anleitung erfahren Sie, wie Sie das Client SDK zu Ihrer Android-App hinzufügen.
Voraussetzungen
Für das Client SDK ist mindestens die Android-API-Stufe 23 erforderlich.
So fügen Sie das Client SDK zu Ihrem Projekt hinzu
Öffnen Sie Ihr Android-Projekt
Öffnen Sie die Codebasis Ihres Android-Projekts in Ihrer IDE.
Abhängigkeiten hinzufügen
Zunächst müssen Sie ein benutzerdefiniertes Maven-URL-Repository zu Ihrer Gradle-Konfiguration hinzufügen.
HINWEIS: Es gibt zwei Sprachen, die zur Definition von Gradle-Build-Skripten verwendet werden - Groovy (build.gradle Datei) und Kotlin Gradle Script (build.gradle.kts Datei). Ein Kotlin-Android-Projekt kann weiterhin Groovy als Sprache für die Build-Skripte verwenden. Bitte prüfen Sie die Dateierweiterung, um die Sprache für die Build-Skript-Dateien zu bestimmen.
Fügen Sie die folgende URL in Ihre Projektebene ein build.gradle oder build.gradle.kts Datei:
//...
allprojects {
repositories {
google()
mavenCentral()
maven("https://artifactory.ess-dev.com/artifactory/gradle-dev-local")
}
}
//...
allprojects {
repositories {
google()
mavenCentral()
maven {
url "https://artifactory.ess-dev.com/artifactory/gradle-dev-local"
}
}
}
HINWEIS: Die Arctic Fox Version von Android Studio erstellt neue Projekte mit Gradle 7 oder neuer. Wenn Sie eine neue Anwendung erstellt haben, fügen Sie die Maven-URL zu den Repositories in settings.gradle Datei in der dependencyResolutionManagement Block.
Fügen Sie nun das Client SDK zu Ihrem Projekt hinzu. Fügen Sie die folgende Abhängigkeit in Ihrer App-Ebene hinzu build.gradle Datei (typischerweise app/build.gradle):
dependencies {
implementation("com.nexmo.android:client-sdk:4.0.0")
}
dependencies {
implementation 'com.nexmo.android:client-sdk:4.0.0'
}
HINWEIS: SDK-Versionen >=4 verwenden eine neuere Version von WebRTC als Abhängigkeit. Möglicherweise müssen Sie den der JVM zugewiesenen Speicher in der Datei gradle.properties Datei in der org.gradle.jvmargs Umgebung.
Java 1.8 einstellen
Setzen Sie Java 1.8 in Ihrer Anwendungsebene build.gradle oder build.gradle.kts Datei (typischerweise app/build.gradle oder app/build.gradle.kts):
android {
// ...
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
// Only for Kotlin projects
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
}
android {
// ...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
// Only for Kotlin projects
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
}
Berechtigungen hinzufügen
Um die In-App Voice-Funktionen zu nutzen, fügen Sie mit dem folgenden Verfahren Audiorechte hinzu:
- Fügen Sie die erforderlichen Berechtigungen zur Datei
AndroidManifest.xmlDatei:

<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
</manifest>
Laufzeitberechtigungen
- Für Geräte mit Android Version 6.0 Marshmallow (API Level 23) oder höher sollten Sie die
RECORD_AUDIOErlaubnis zur Laufzeit:
// this is the current activity
val callsPermissions = arrayOf(Manifest.permission.RECORD_AUDIO)
ActivityCompat.requestPermissions(this, callsPermissions, 123)
// this is the current activity
String[] callsPermissions = new String[]{Manifest.permission.RECORD_AUDIO};
ActivityCompat.requestPermissions(this, callsPermissions, 123);
- Für Geräte mit Android-Version 12 (API-Level 31) oder höher sollten Sie auch die
READ_PHONE_STATEErlaubnis zur Laufzeit:
// this is the current activity
val callsPermissions = arrayOf(Manifest.permission.RECORD_AUDIO, Manifest.permission.READ_PHONE_STATE)
ActivityCompat.requestPermissions(this, callsPermissions, 123)
// this is the current activity
String[] callsPermissions = new String[]{Manifest.permission.RECORD_AUDIO, Manifest.permission.READ_PHONE_STATE};
ActivityCompat.requestPermissions(this, callsPermissions, 123);
Lesen Sie mehr über das Anfordern von Laufzeitberechtigungen unter Android hier.
Verwendung von NexmoClient in Ihrer App
Aufbau des NexmoClient
Stellen Sie sicher, dass Sie die NexmoClient-Instanz erstellen, bevor Sie sie verwenden.
NexmoClient.Builder().build(context)
NexmoClient.Builder().build(context);
Einstellung des Verbindungs-Listeners
Satz NexmoConnectionListener die Sie über alle Änderungen bei der Verbindung zum SDK und der Verfügbarkeit seiner Funktionen informiert:
NexmoClient().get().setConnectionListener { connectionStatus, connectionStatusReason ->
Log.d("TAG", "Connection status changed: $connectionStatus $connectionStatusReason")
}
NexmoClient().get().setConnectionListener { newConnectionStatus, connectionStatusReason ->
Log.d("TAG", "Connection status changed: " + connectionStatus + " " + connectionStatusReason);
}
Anmeldung NexmoClient
Nach der Initialisierung NexmoClientmüssen Sie sich dort anmelden, indem Sie eine jwt Benutzer-Token. Dies wird beschrieben im Thema über JWTs und ACLs.
Ersetzen Sie das Token, um den betreffenden Benutzer zu authentifizieren:
NexmoClient.get().login("JWT token")
NexmoClient.get().login("JWT token");
Nachdem die Anmeldung erfolgreich war, ist der angemeldete Benutzer über NexmoClient.get().getUser().
Schlussfolgerung
Sie haben das Client SDK zu Ihrer Android-App hinzugefügt, es initialisiert und sich bei einem NexmoClient Instanz.
In der Produktionsanwendung ein guter Ort für die Initialisierung NexmoClient ist benutzerdefiniert Android Applikation Klasse. Sie können später die NexmoClient Instanz mit NexmoClient.get() Methode und verwenden zusätzliche NexmoClient Funktionalität.
Siehe auch
- Konfiguration des Rechenzentrums - Dies ist eine erweiterte optionale Konfiguration, die Sie nach dem Hinzufügen des SDK zu Ihrer Anwendung vornehmen können.