Ce SDK Kotlin vous permet d'utiliser des API Vonage dans n'importe quelle application basée sur JVM. Vous devrez avoir créé un compte Vonage.
Nous fournissons également des SDK de serveur dans d'autres langues:
Nous proposons également des SDK côté client pour Android, iOS et JavaScript. Voir tous nos SDK et intégrations sur le portail des développeurs Vonage.
Les sorties sont publiées à Maven Central. Des instructions pour votre système de construction se trouvent dans la section des extraits. Ils sont également disponibles à partir d'ici. Les notes de version pour chaque version peuvent être trouvées dans le Changelog.
Voici les instructions pour inclure le SDK dans votre projet:
Ajoutez ce qui suit à votre fichier build.gradle
ou build.gradle.kts
:
dependencies {
implementation( " com.vonage:server-sdk-kotlin:1.1.0 " )
}
Ajoutez ce qui suit à la section <dependencies>
de votre fichier pom.xml
:
< dependency >
< groupId >com.vonage</ groupId >
< artifactId >server-sdk-kotlin</ artifactId >
< version >1.1.0</ version >
</ dependency >
Remarque : Nous vous recommandons fortement d'utiliser un outil avec la gestion des dépendances, comme Maven ou Gradle.
Alternativement, vous pouvez cloner le dépôt et construire le fichier pot vous-même:
git clone [email protected]:vonage/vonage-kotlin-sdk.git
mvn install -P uberjar
Le profil uberjar
créera un fichier JAR avec toutes les dépendances incluses dans le répertoire target
à la racine du dépôt. Vous pouvez ensuite inclure cela dans le chemin de classe de votre projet.
Le SDK nécessite très peu de configuration pour commencer.
Pour la configuration par défaut, il vous suffit de spécifier vos informations d'identification de compte Vonage à l'aide de la clé API et du secret, de la clé privée et de l'ID d'application ou les deux. Pour une compatibilité maximale avec toutes les API, il est recommandé de spécifier les deux méthodes d'authentification, comme ainsi:
import com.vonage.client.kt.Vonage
val vonage = Vonage {
apiKey( API_KEY ); apiSecret( API_SECRET )
applicationId( APPLICATION_ID )
privateKeyPath( PRIVATE_KEY_PATH )
}
Vous pouvez également utiliser des variables d'environnement pour plus de commodité, en définissant ce qui suit:
VONAGE_API_KEY
- Clé API de votre compteVONAGE_API_SECRET
- Secret API de votre compteVONAGE_SIGNATURE_SECRET
- (avancé, facultatif) secret de signature pour les demandes signées lors de l'utilisation de l'API SMSVONAGE_APPLICATION_ID
- uuid de l'application vonage que vous souhaitez utiliserVONAGE_PRIVATE_KEY_PATH
- chemin absolu vers le fichier de clé privée pour l'applicationpuis instancier le client avec:
val vonage = Vonage { authFromEnv() }
Vous pouvez configurer l'uri de base (par exemple, pour effectuer des tests d'intégration) et le délai de demande HTTP avec httpConfig
pendant l'instanciation, comme ainsi:
val vonageClient = Vonage {
authFromEnv()
httpConfig {
baseUri( " http://localhost:8976 " )
timeoutMillis( 15000 )
}
}
Comme pour nos autres SDK, l'architecture est basée sur la classe Vonage
, qui définit les informations d'authentification et les paramètres avancés facultatifs pour le client HTTP. La classe a un champ pour chaque API prise en charge, qui renvoie un objet contenant des méthodes disponibles sur cette API. Où le SDK diffère des autres SDK, c'est qu'il utilise une approche basée sur les ressources pour les opérations CRUD, plutôt qu'une liste plate de méthodes. Ce sont des classes intérieures définies pour chaque ressource API et sont toujours préfixées avec Existing
- par exemple, ExistingCall
, ExistingSession
, ExistingApplication
, etc. En règle générale, les ressources avec des identificateurs uniques ont une classe Existing[Resource]
correspondante qui est utilisée pour effectuer des opérations sur Cette ressource, plutôt que de passer à plusieurs reprises l'ID de cette ressource aux méthodes de la classe parent, comme c'est le cas dans le SDK Java. Ces classes de ressources sont construites à partir d'un appel de méthode dans la classe API de niveau supérieur. Ainsi, par exemple, pour travailler avec une ExistingSession
, vous feriez: client.video.session(SESSION_ID)
, où client
est une instance de Vonage
et SESSION_ID
est l'identifiant unique de la session vidéo avec laquelle vous souhaitez travailler.
Vous pouvez trouver des échantillons de code exécutables complets dans le référentiel des extraits de code, y compris une liste consultable des extraits .
Le SDK est entièrement documenté avec KDOCS, vous devriez donc avoir une documentation complète de votre IDE. Vous devrez peut-être cliquer sur "Télécharger des sources" dans Intellij pour obtenir la documentation complète. Alternativement, vous pouvez parcourir la documentation à l'aide d'un service comme Javadoc.io, qui rend la documentation pour vous à partir des artefacts sur Maven Central.
Pour obtenir de l'aide pour toute API spécifique, reportez-vous à la documentation pertinente sur notre portail de développeur, en utilisant les liens fournis dans la section API prise en charge. Pour l'exhaustivité, vous pouvez également consulter les spécifications de l'API si vous pensez qu'il existe des écarts.
Q: Pourquoi utiliser ce SDK au lieu du SDK Vonage Java Server?
R: Ce SDK Kotlin est en fait basé sur le SDK Java pour améliorer l'expérience utilisateur à Kotlin. Il ajoute du sucre syntaxique, vous pouvez donc éviter le modèle de constructeur lourd en faveur d'une syntaxe de type DSL plus idiomatique, des paramètres facultatifs et nommés avec des valeurs par défaut, etc. tout en réalisant le frappeur fort offert par le SDK Java. De plus, vous êtes plus partiellement protégé des «types de plate-forme» (le !
) Vous avez donc une meilleure idée de ce qui est et n'est pas nullable lors de la création de demandes. Vous pouvez en savoir plus sur les différences dans le billet de blog d'annonce V1.0.0.
Q: Quelle est votre politique sur la sécurité des fils?
R: Comme avec le SDK Java Server, un seul thread doit utiliser le client à la fois. Si vous souhaitez utiliser le SDK dans un environnement multithread, créez une instance distincte de Vonage
pour chaque thread ou utilisez une instance ThreadLocal.
Q: J'ai des problèmes avec mon projet en incluant le SDK comme dépendance. Comment puis-je dépanner cela?
R: Veuillez consulter cet article de blog. En bref, vous pouvez avoir des versions de dépendance contradictoires dans votre projet qui s'affrontent avec les dépendances transitives de ce SDK.
Q: Je rencontre des problèmes de demande HTTP, tels que des délais d'attente. Comment puis-je remédier ou signaler cela?
R: Étant donné que cette bibliothèque utilise le SDK Java sous, qui à son tour utilise Apache HTTP Client 4, vous pourrez peut-être utiliser les propriétés du système pour configurer le client, ou utiliser la méthode httpConfig
de ce SDK sur la classe Vonage
pour un contrôle plus fin. Si vous pensez qu'il y a un problème avec le client sous-jacent, veuillez soulever un problème avec un exemple reproductible minimal, y compris les détails de votre environnement (version d'exécution JVM, version SDK, système d'exploitation, etc.) sur le référentiel SDK Java Vonage.
Q: Je ne sais pas si mon problème est avec le SDK. Comment puis-je obtenir de l'aide?
R: Veuillez consulter notre page d'assistance, y compris les coordonnées.
Nous contribuons à cette bibliothèque!
C'est une bonne idée de nous parler d'abord si vous prévoyez d'ajouter de nouvelles fonctionnalités. Sinon, les rapports de bogues, les corrections de bogues et les commentaires sur la bibliothèque sont toujours appréciés. Vous pouvez également nous contacter via les canaux suivants: