Этот Kotlin SDK позволяет использовать API Vonage в любом приложении на основе JVM. Вам нужно было создать аккаунт Vonage.
Мы также предоставляем сервер SDK на других языках:
Мы также предлагаем клиентские SDK для Android, iOS и JavaScript. Посмотрите все наши SDK и интеграции на портале разработчика Vonage.
Выпуски опубликованы в Maven Central. Инструкции для вашей системы сборки можно найти в разделе фрагментов. Они также доступны отсюда. Заметки для выпуска для каждой версии можно найти в ChangeLog.
Вот инструкции по включению SDK в ваш проект:
Добавьте следующее в свой файл build.gradle
или build.gradle.kts
:
dependencies {
implementation( " com.vonage:server-sdk-kotlin:1.1.0 " )
}
Добавьте следующее в раздел <dependencies>
вашего файла pom.xml
:
< 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 со всеми зависимостями, включенными в target
каталог в корне репо. Затем вы можете включить это в Classpath вашего проекта.
SDK требует очень небольшой конфигурации, чтобы начать.
Для конфигурации по умолчанию вам просто необходимо указать учетные данные для учетной записи Vonage, используя ключ API и секретный, закрытый ключ и идентификатор приложения или обоих. Для максимальной совместимости со всеми API -интерфейсом рекомендуется указать оба метода аутентификации, например, SO:
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
- ключ вашей учетной записи APIVONAGE_API_SECRET
- секрет вашей учетной записи APIVONAGE_SIGNATURE_SECRET
- (расширенный, необязательный) Секрет подписей для подписанных запросов при использовании SMS -APIVONAGE_APPLICATION_ID
- uuid приложения Vonage, которое вы хотите использоватьVONAGE_PRIVATE_KEY_PATH
- абсолютный путь к файлу закрытого ключа для приложенияа затем создайте экземпляр клиента:
val vonage = Vonage { authFromEnv() }
Вы можете настроить базовый URI (например, для выполнения интеграционных тестов) и HTTP -тайм -аут с httpConfig
во время экземпляров, например, так:
val vonageClient = Vonage {
authFromEnv()
httpConfig {
baseUri( " http://localhost:8976 " )
timeoutMillis( 15000 )
}
}
Как и в случае с другими нашими SDK, архитектура основана на классе Vonage
, который определяет учетные данные аутентификации и дополнительные расширенные настройки для клиента HTTP. У класса есть поле для каждого поддерживаемого API, который возвращает объект, содержащий методы, доступные на этом API. Если SDK отличается от других SDK, заключается в том, что он использует основополагающий подход для операций CRUD, а не плоский список методов. Это внутренние классы, определяемые для каждого ресурса API, и всегда префикс существуют Existing
, например, ExistingCall
, ExistingSession
, ExistingApplication
и т. Д. Как общее правило, ресурсы с уникальными идентификаторами имеют соответствующий Existing[Resource]
, который используется для выполнения операций на операциях. Этот ресурс, вместо того, чтобы неоднократно передавать идентификатор этого ресурса методам на родительском классе, как в случае Java SDK. Эти классы ресурсов построены из вызова метода в классе 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. Кроме того, вы более частично защищены от «типов платформ» (The !
), Таким образом, у вас есть лучшее представление о том, что является и не обязуется при создании запросов. Вы можете прочитать больше о различиях в сообщении в блоге V1.0.0.
В: Какова ваша политика в области безопасности потока?
A: Как и в случае SDK Java Server, только один поток должен использовать клиент за раз. Если вы хотите использовать SDK в многопоточной среде, создайте отдельный экземпляр Vonage
для каждого потока или используйте экземпляр Threadlocal.
В: У меня проблемы с моим проектом, когда включают SDK в качестве зависимости. Как я могу это устранить?
A: Пожалуйста, посмотрите этот пост в блоге. Короче говоря, у вас могут быть противоречивые версии зависимостей в вашем проекте, которые сталкиваются с переходными зависимостями этого SDK.
В: Я сталкиваюсь с вопросами запроса HTTP, таких как тайм -ауты. Как я могу исправить или сообщить об этом?
A: Поскольку в этой библиотеке используется Java SDK внизу, который, в свою очередь, использует Apache HTTP Client 4, вы можете использовать свойства системы для настройки клиента или использовать этот метод SDK httpConfig
в классе Vonage
для более мелкозернистого управления. Если вы считаете, что есть проблема с базовым клиентом, пожалуйста, поднимите проблему с минимальным воспроизводимым примером, включая детали вашей среды (версия JVM Runtime, версия SDK, операционная система и т. Д.) На репозитории Vonage Java SDK.
В: Я не уверен, что моя проблема с SDK. Как мне получить помощь?
A: Пожалуйста, смотрите нашу страницу поддержки, включая контактную информацию.
Мы ❤ Вклад в эту библиотеку!
Хорошей идеей сначала поговорить с нами, если вы планируете добавить какие -либо новые функции. В противном случае всегда ценятся отчеты об ошибках, исправления ошибок и отзывы о библиотеке. Вы также можете связаться с нами по следующим каналам: