此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。我如何获得帮助?
答:请参阅我们的支持页面,包括联系信息。
我们为这个图书馆做出了贡献!
如果您打算添加任何新功能,最好先与我们交谈。否则,始终对图书馆的错误报告,错误修复和反馈表示赞赏。您也可以通过以下渠道与我们联系: