Vue d'ensemble
Dans ce guide, vous apprendrez comment ajouter le Client SDK à votre application Android.
Conditions préalables
Le Client SDK requiert un niveau d'API Android minimum de 23.
Pour ajouter le Client SDK à votre projet
Ouvrez votre projet Android
Ouvrez la base de code de votre projet Android dans votre IDE.
Ajouter des dépendances
Tout d'abord, vous devez ajouter un dépôt d'URL Maven personnalisé à votre configuration Gradle.
NOTE : Deux langages sont utilisés pour définir les scripts de construction de Gradle - Groovy (build.gradle ) et Kotlin Gradle Script (build.gradle.kts ). Un projet Kotlin-Android peut encore utiliser Groovy comme langage pour les scripts de compilation. Veuillez vérifier l'extension du fichier pour déterminer le langage des fichiers de script de construction.
Ajoutez l'URL suivante dans votre projet build.gradle ou build.gradle.kts fichier :
//...
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"
}
}
}
NOTE : La version Arctic Fox d'Android Studio crée de nouveaux projets avec Gradle 7 ou plus récent. Si vous avez créé une nouvelle application, ajoutez l'URL maven aux dépôts dans settings.gradle dans le fichier dependencyResolutionManagement bloc.
Ajoutez maintenant le Client SDK à votre projet. Ajoutez la dépendance suivante au niveau de votre application build.gradle (typiquement app/build.gradle) :
dependencies {
implementation("com.nexmo.android:client-sdk:4.0.0")
}
dependencies {
implementation 'com.nexmo.android:client-sdk:4.0.0'
}
REMARQUE : les versions >=4 du SDK utilisent une version plus récente de WebRTC comme dépendance. Il se peut que vous deviez augmenter la mémoire allouée à la JVM dans le fichier gradle.properties dans le fichier org.gradle.jvmargs de la mise en place.
Définir Java 1.8
Définissez Java 1.8 au niveau de votre application build.gradle ou build.gradle.kts (typiquement app/build.gradle ou 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()
}
}
Ajouter des autorisations
Pour utiliser les fonctionnalités In-App Voice, ajoutez des autorisations audio en suivant la procédure suivante :
- Ajoutez les autorisations nécessaires au
AndroidManifest.xmlfichier :

<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>
Permissions d'exécution
- Pour les appareils fonctionnant sous Android version 6.0 Marshmallow (API level 23) ou plus, vous devez demander l'option
RECORD_AUDIOau moment de l'exécution :
// 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);
- Pour les appareils fonctionnant sous Android version 12 (niveau API 31) ou plus, vous devez également demander l'option
READ_PHONE_STATEau moment de l'exécution :
// 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);
En savoir plus sur la demande d'autorisations d'exécution sur Android ici.
Utiliser NexmoClient dans votre application
Construire NexmoClient
Veillez à construire l'instance NexmoClient avant de l'utiliser.
NexmoClient.Builder().build(context)
NexmoClient.Builder().build(context);
Définition de l'auditeur de connexion
Set (jeu de mots) NexmoConnectionListener qui vous informera de tout changement concernant la connexion au SDK et la disponibilité de ses fonctionnalités :
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);
}
Login NexmoClient
Après l'initialisation NexmoClientvous devez vous y connecter, en utilisant un identifiant jwt le jeton d'utilisateur. Cette procédure est décrite dans la rubrique JWT et ACL.
Remplacer le jeton afin d'authentifier l'utilisateur concerné :
NexmoClient.get().login("JWT token")
NexmoClient.get().login("JWT token");
Une fois la connexion réussie, l'utilisateur connecté est disponible via NexmoClient.get().getUser().
Conclusion
Vous avez ajouté le Client SDK à votre application Android, vous l'avez initialisé et vous vous êtes connecté à une session de NexmoClient instance.
Dans une application de production, il est bon d'initialiser NexmoClient est une version personnalisée d'Android Applications de la classe. Vous pouvez par la suite récupérer NexmoClient instance en utilisant NexmoClient.get() et d'utiliser des NexmoClient fonctionnalité.
Voir aussi
- Configuration du centre de données - il s'agit d'une configuration optionnelle avancée que vous pouvez effectuer après avoir ajouté le SDK à votre application.