Mit diesem Kotlin SDK können Sie von Vonage-APIs in jeder JVM-basierten Anwendung verwenden. Sie müssen ein Vonage -Konto erstellt haben.
Wir bieten auch Server -SDKs in anderen Sprachen:
Wir bieten auch clientseitige SDKs für Android, iOS und JavaScript an. Sehen Sie sich alle unsere SDKs und Integrationen im Portal von Vonage Developer an.
Veröffentlichungen werden an Maven Central veröffentlicht. Anweisungen für Ihr Build -System finden Sie im Abschnitt Snippets. Sie sind auch von hier aus erhältlich. Versionshinweise für jede Version finden Sie im Changelog.
Hier finden Sie die Anweisungen zum Einbeziehen des SDK in Ihr Projekt:
Fügen Sie Folgendes zu Ihrem build.gradle
oder build.gradle.kts
-Datei hinzu:
dependencies {
implementation( " com.vonage:server-sdk-kotlin:1.1.0 " )
}
Fügen Sie Folgendes dem Abschnitt <dependencies>
Ihrer pom.xml
-Datei hinzu:
< dependency >
< groupId >com.vonage</ groupId >
< artifactId >server-sdk-kotlin</ artifactId >
< version >1.1.0</ version >
</ dependency >
Hinweis : Wir empfehlen dringend , ein Tool mit Abhängigkeitsmanagement wie Maven oder Gradle zu verwenden.
Alternativ können Sie das Repo klonen und die JAR -Datei selbst erstellen:
git clone [email protected]:vonage/vonage-kotlin-sdk.git
mvn install -P uberjar
Das uberjar
-Profil erstellt eine JAR -Datei mit allen Abhängigkeiten, die im target
am Root des Repo enthalten sind. Sie können dies dann in den Klassenpfad Ihres Projekts aufnehmen.
Der SDK benötigt nur sehr wenig Konfiguration, um loszulegen.
Für die Standardkonfiguration müssen Sie Ihre Anmeldeinformationen von Vonage -Konto nur mit API -Schlüssel und geheimen, privaten Schlüssel- und Anwendungs -ID oder beides angeben. Für die maximale Kompatibilität mit allen APIs wird empfohlen, beide Authentifizierungsmethoden wie SO anzugeben:
import com.vonage.client.kt.Vonage
val vonage = Vonage {
apiKey( API_KEY ); apiSecret( API_SECRET )
applicationId( APPLICATION_ID )
privateKeyPath( PRIVATE_KEY_PATH )
}
Sie können auch Umgebungsvariablen für die Bequemlichkeit verwenden, indem Sie Folgendes festlegen:
VONAGE_API_KEY
- Ihre Konto -API -TasteVONAGE_API_SECRET
- Ihr Konto -API -GeheimnisVONAGE_SIGNATURE_SECRET
- (erweitert, optional) Signaturgeheimnis für signierte Anforderungen bei der Verwendung von SMS -APIVONAGE_APPLICATION_ID
- UUID der von Ihnen gewünschten von Vonage -AnwendungVONAGE_PRIVATE_KEY_PATH
- absoluter Pfad zur privaten Schlüsseldatei für die Anwendungund dann den Kunden mit: so instanziieren Sie:
val vonage = Vonage { authFromEnv() }
Sie können den Basis -URI (z. B. für Integrationstests durchführen) und HTTP -Anfrage -Timeout mit httpConfig
während der Instanziierung konfigurieren, wie Sie:
val vonageClient = Vonage {
authFromEnv()
httpConfig {
baseUri( " http://localhost:8976 " )
timeoutMillis( 15000 )
}
}
Wie bei unseren anderen SDKs basiert die Architektur auf der Vonage
-Klasse, die die Authentifizierungsanmeldeinformationen und optionalen erweiterten Einstellungen für den HTTP -Client definiert. Die Klasse verfügt über ein Feld für jede unterstützte API, die ein Objekt zurückgibt, das auf dieser API verfügbare Methoden enthält. Wenn sich der SDK von anderen SDKs unterscheidet, wird ein ressourcenbasierter Ansatz für CRUD-Operationen und nicht eine flache Liste von Methoden verwendet. Dies sind innere Klassen Existing[Resource]
die für jede API -Ressourcen definiert ExistingSession
ExistingApplication
immer Existing
sind - z ExistingCall
Diese Ressource, anstatt die ID dieser Ressource wiederholt an Methoden in der übergeordneten Klasse weiterzugeben, wie dies im Java SDK der Fall ist. Diese Ressourcenklassen werden aus einem Methodenaufruf in der API-Klasse der obersten Ebene erstellt. Um beispielsweise mit einem ExistingSession
zu arbeiten, würden Sie also: client.video.session(SESSION_ID)
tun, wobei client
eine Instanz von Vonage
und SESSION_ID
ist, ist die eindeutige Kennung der Videositzung, mit der Sie arbeiten möchten.
Im Code -Snippets -Repository finden Sie vollständige Runnable -Code -Samples, einschließlich einer durchsuchbaren Liste von Snippets .
Der SDK ist vollständig mit KDOCs dokumentiert, sodass Sie eine vollständige Dokumentation von Ihrer IDE haben sollten. Möglicherweise müssen Sie in Intellij auf "Quellen herunterladen" klicken, um die vollständige Dokumentation zu erhalten. Alternativ können Sie die Dokumentation mit einem Dienst wie Javadoc.io durchsuchen, der die Dokumentation für Sie von den Artefakten über Maven Central für Sie liefert.
Hilfe bei bestimmten APIs finden Sie in der entsprechenden Dokumentation in unserem Entwicklerportal unter Verwendung der im Abschnitt unterstützten APIs bereitgestellten Links. Für die Vollständigkeit können Sie auch die API -Spezifikationen konsultieren, wenn Sie der Meinung sind, dass es Abweichungen gibt.
F: Warum diese SDK anstelle des von Vonage Java Server SDK verwenden?
A: Dieser Kotlin SDK basiert tatsächlich auf dem Java SDK, um die Benutzererfahrung in Kotlin zu verbessern. Es fügt syntaktischen Zucker hinzu, sodass Sie das umständliche Muster für das billige Builder zugunsten einer idiomatischeren DSL-ähnlichen Syntax, optionale und benannte Parameter mit Standardwerten usw., vermeiden, während Sie die starke Typisierung, die von der Java SDK angeboten wird, weiterhin wiederholt. Darüber hinaus sind Sie teilweise vor "Plattformtypen" (die !
) Seit, sodass Sie eine bessere Vorstellung davon haben, was beim Erstellen von Anfragen nullbar ist und was nicht. Sie können mehr über die Unterschiede im Blog -Beitrag v1.0.0 erfahren.
F: Was ist Ihre Richtlinie zur Sicherheit von Threads?
A: Wie beim Java -Server -SDK sollte nur ein Thread den Client gleichzeitig verwenden. Wenn Sie das SDK in einer Multithread -Umgebung verwenden möchten, erstellen Sie für jeden Thread eine separate Instanz von Vonage
oder verwenden Sie eine ThreadLocal -Instanz.
F: Ich habe Probleme mit meinem Projekt, wenn ich die SDK als Abhängigkeit einbeziehe. Wie kann ich das beheben?
A: Bitte sehen Sie diesen Blog -Beitrag. Kurz gesagt, Sie haben möglicherweise widersprüchliche Abhängigkeitsversionen in Ihrem Projekt, die mit den transitiven Abhängigkeiten dieses SDK zusammenhängen.
F: Ich stoße auf HTTP -Anfrageprobleme wie Timeouts. Wie kann ich das beheben oder melden?
A: Da diese Bibliothek das darunter liegende Java SDK verwendet, das wiederum den Apache HTTP-Client 4 verwendet, können Sie möglicherweise Systemeigenschaften zum Konfigurieren des Clients verwenden oder die httpConfig
-Methode dieses SDK in der Vonage
-Klasse für eine feinkörnige Steuerung verwenden. Wenn Sie der Ansicht sind, dass ein Problem mit dem zugrunde liegenden Kunden vorliegt, stellen Sie bitte ein Problem mit einem minimal reproduzierbaren Beispiel auf, einschließlich Details Ihrer Umgebung (JVM -Laufzeitversion, SDK -Version, Betriebssystem usw.) im von Vonage Java SDK Repository.
F: Ich bin mir nicht sicher, ob mein Problem mit dem SDK ist. Wie kann ich Hilfe bekommen?
A: Bitte beachten Sie unsere Support -Seite, einschließlich Kontaktinformationen.
Wir sind Beiträge zu dieser Bibliothek!
Es ist eine gute Idee, zuerst mit uns zu sprechen, wenn Sie vorhaben, neue Funktionen hinzuzufügen. Andernfalls werden Fehlerberichte, Fehlerbehebungen und Feedback in der Bibliothek immer geschätzt. Sie können uns auch über die folgenden Kanäle kontaktieren: