此Kotlin SDK允許您在任何基於JVM的應用程序中使用Vonage API。您需要創建一個Vonage帳戶。
我們還提供其他語言的服務器SDK:
我們還為Android,iOS和JavaScript提供客戶端SDK。查看我們在Vonage開發人員門戶網站上的所有SDK和集成。
發布發行給Maven Central。您的構建系統的說明可以在“摘要”部分中找到。它們也從這裡提供。每個版本的發行說明都可以在ChangElog中找到。
以下是在您的項目中包括SDK的說明:
將以下內容添加到您的build.gradle
或build.gradle.kts
文件:
dependencies {
implementation( " com.vonage:server-sdk-kotlin:1.1.0 " )
}
將以下內容添加到pom.xml
文件的<dependencies>
部分:
< dependency >
< groupId >com.vonage</ groupId >
< artifactId >server-sdk-kotlin</ artifactId >
< version >1.1.0</ version >
</ dependency >
注意:我們強烈建議您使用具有依賴性管理的工具,例如Maven或Gradle。
或者,您可以克隆回購併自己構建JAR文件:
git clone [email protected]:vonage/vonage-kotlin-sdk.git
mvn install -P uberjar
uberjar
配置文件將創建一個JAR文件,其中包含在Repo根目錄中的target
目錄中的所有依賴項。然後,您可以將其包含在項目的類路徑中。
SDK幾乎不需要配置才能開始。
對於默認配置,您只需要使用API密鑰和秘密,私有密鑰和應用程序ID或兩者指定Vonage帳戶憑據。為了最大程度地兼容所有API,建議您指定這兩種身份驗證方法,例如:
import com.vonage.client.kt.Vonage
val vonage = Vonage {
apiKey( API_KEY ); apiSecret( API_SECRET )
applicationId( APPLICATION_ID )
privateKeyPath( PRIVATE_KEY_PATH )
}
您還可以通過設置以下內容來使用環境變量以方便:
VONAGE_API_KEY
您的帳戶API密鑰VONAGE_API_SECRET
您的帳戶API秘密VONAGE_SIGNATURE_SECRET
(高級,可選)使用SMS API時簽名請求的簽名秘密VONAGE_APPLICATION_ID
您要使用的Vonage應用程序的UUIDVONAGE_PRIVATE_KEY_PATH
應用程序的絕對路徑然後通過以下方式實例化客戶端
val vonage = Vonage { authFromEnv() }
您可以在實例httpConfig
過程中配置基本URI(例如,進行集成測試)和HTTP請求超時,例如:
val vonageClient = Vonage {
authFromEnv()
httpConfig {
baseUri( " http://localhost:8976 " )
timeoutMillis( 15000 )
}
}
與我們的其他SDK一樣,體系結構基於Vonage
類,該類定義了HTTP客戶端的身份驗證憑證和可選的高級設置。該類為每個受支持的API都有一個字段,該字段返回包含該API上可用方法的對象。 SDK與其他SDK的不同之處在於,它使用基於資源的方法來進行CRUD操作,而不是使用平坦的方法列表。這些是ExistingSession
ExistingApplication
API資源定義Existing
Existing[Resource]
ExistingCall
該資源,而不是像Java SDK中那樣反復將該資源的ID傳遞給父類中的方法。這些資源類是從頂級API類中的方法調用構建的。因此,例如,要與ExistingSession
合作,您將要做: client.video.session(SESSION_ID)
,其中client
是Vonage
的實例,而SESSION_ID
是您要使用的視頻會話的唯一標識符。
您可以在“代碼”摘要存儲庫中找到完整的可運行代碼示例,包括可搜索的摘要列表。
SDK已充分記錄在KDOC中,因此您應該從IDE中擁有完整的文檔。您可能需要在Intellij中單擊“下載源”以獲取完整的文檔。另外,您可以使用Javadoc.io之類的服務瀏覽文檔,該服務從Maven Central上的工件為您提供了文檔。
要獲得任何特定的API,請使用“支持API”部分中提供的鏈接,請參閱我們開發人員門戶網站上的相關文檔。為了完整性,如果您認為存在任何差異,也可以諮詢API規格。
問:為什麼要使用此SDK代替Vonage Java Server SDK?
答:此Kotlin SDK實際上是基於Java SDK,以改善Kotlin的用戶體驗。它添加了句法糖,因此您可以避免使用繁瑣的構建器圖案,而有利於更慣用的DSL樣語法,可选和具有默認值的命名參數等。雖然仍然將Java SDK提供的強鍵打字。此外,您更部分地屏蔽了“平台類型”( !
),因此您可以更好地了解創建請求時的內容和不可能。您可以在v1.0.0公告博客文章中閱讀有關差異的更多信息。
問:您對線程安全的政策是什麼?
答:與Java Server SDK一樣,只有一個線程應一次使用客戶端。如果您想在多線程環境中使用SDK,請為每個線程創建一個單獨的Vonage
實例,或使用threadlocal實例。
問:將SDK作為依賴性時,我的項目遇到了問題。我該如何解決這個問題?
答:請參閱此博客文章。簡而言之,您的項目中可能具有與此SDK的傳遞依賴性相衝突的依賴版本。
問:我正在遇到HTTP請求問題,例如超時。我該如何補救或報告?
答:由於此庫使用下面的Java SDK(又使用Apache HTTP客戶端4),您可以使用系統屬性來配置客戶端,或在Vonage
類上使用此SDK的httpConfig
方法來進行更細粒度的控制。如果您認為基礎客戶端存在問題,請在Vonage Java SDK存儲庫上提出一個最小可重現示例的問題,包括您的環境(JVM Runtime版本,SDK版本,操作系統等)的詳細信息。
問:我不確定我的問題是否是SDK。我如何獲得幫助?
答:請參閱我們的支持頁面,包括聯繫信息。
我們為這個圖書館做出了貢獻!
如果您打算添加任何新功能,最好先與我們交談。否則,始終對圖書館的錯誤報告,錯誤修復和反饋表示讚賞。您也可以通過以下渠道與我們聯繫: