Este Kotlin SDK permite que você use APIs Vonage em qualquer aplicativo baseado em JVM. Você precisará ter criado uma conta Vonage.
Também fornecemos SDKs de servidor em outros idiomas:
Também oferecemos SDKs do lado do cliente para Android, iOS e JavaScript. Veja todos os nossos SDKs e integrações no portal de desenvolvedores Vonage.
Os lançamentos são publicados no Maven Central. As instruções para o seu sistema de construção podem ser encontradas na seção Snippets. Eles também estão disponíveis daqui. As notas de lançamento para cada versão podem ser encontradas no Changelog.
Aqui estão as instruções para incluir o SDK em seu projeto:
Adicione o seguinte ao seu arquivo build.gradle
ou build.gradle.kts
:
dependencies {
implementation( " com.vonage:server-sdk-kotlin:1.1.0 " )
}
Adicione o seguinte à seção <dependencies>
do seu arquivo pom.xml
:
< dependency >
< groupId >com.vonage</ groupId >
< artifactId >server-sdk-kotlin</ artifactId >
< version >1.1.0</ version >
</ dependency >
Nota : Recomendamos fortemente que você use uma ferramenta com gerenciamento de dependência, como Maven ou Gradle.
Como alternativa, você pode clonar o repositório e construir o arquivo de jar:
git clone [email protected]:vonage/vonage-kotlin-sdk.git
mvn install -P uberjar
O perfil uberjar
criará um arquivo JAR com todas as dependências incluídas no diretório target
na raiz do repositório. Você pode incluir isso no caminho de classe do seu projeto.
O SDK requer muito pouca configuração para começar.
Para configuração padrão, você só precisa especificar suas credenciais da conta Vonage usando a chave da API e a chave secreta, a chave privada e o aplicativo ou ambos. Para obter a máxima compatibilidade com todas as APIs, é recomendável que você especifique os dois métodos de autenticação, assim:
import com.vonage.client.kt.Vonage
val vonage = Vonage {
apiKey( API_KEY ); apiSecret( API_SECRET )
applicationId( APPLICATION_ID )
privateKeyPath( PRIVATE_KEY_PATH )
}
Você também pode usar variáveis de ambiente por conveniência, definindo o seguinte:
VONAGE_API_KEY
- sua chave da sua contaVONAGE_API_SECRET
- sua conta da API SecretVONAGE_SIGNATURE_SECRET
- (avançado, opcional) Secreta para solicitações assinadas ao usar a API SMSVONAGE_APPLICATION_ID
- uuid do aplicativo Vonage que você deseja usarVONAGE_PRIVATE_KEY_PATH
- caminho absoluto para o arquivo de chave privada para o aplicativoe então instancie o cliente com:
val vonage = Vonage { authFromEnv() }
Você pode configurar o URI base (por exemplo, para fazer testes de integração) e o tempo limite da solicitação HTTP com httpConfig
durante a instanciação, como assim:
val vonageClient = Vonage {
authFromEnv()
httpConfig {
baseUri( " http://localhost:8976 " )
timeoutMillis( 15000 )
}
}
Assim como em nossos outros SDKs, a arquitetura é baseada na classe Vonage
, que define as credenciais de autenticação e as configurações avançadas opcionais para o cliente HTTP. A classe possui um campo para cada API suportada, que retorna um objeto que contém métodos disponíveis nessa API. Onde o SDK difere de outros SDKs é que ele usa uma abordagem baseada em recursos para operações de CRUD, em vez de uma lista plana de métodos. Essas são classes internas definidas para cada recurso da API e sempre são prefixadas com Existing
- por exemplo, ExistingCall
, ExistingSession
, ExistingApplication
etc. Como regra geral, recursos com identificadores exclusivos têm uma classe Existing[Resource]
correspondente que é usada para executar operações em Esse recurso, em vez de passar repetidamente o ID desse recurso para métodos na classe pai, como é o caso no Java SDK. Essas classes de recursos são construídas a partir de uma chamada de método na classe API de nível superior. Por exemplo, para trabalhar com uma ExistingSession
, você faria: client.video.session(SESSION_ID)
, onde client
é uma instância de Vonage
e SESSION_ID
é o identificador exclusivo da sessão de vídeo com a qual você deseja trabalhar.
Você pode encontrar amostras completas de código executável no repositório de snippets de código, incluindo uma lista pesquisável de trechos .
O SDK está totalmente documentado com KDOCs, portanto, você deve ter documentação completa do seu IDE. Pode ser necessário clicar em "Download de fontes" no Intellij para obter a documentação completa. Como alternativa, você pode navegar na documentação usando um serviço como Javadoc.io, que torna a documentação para você dos artefatos no MAVEN CENTRAL.
Para obter ajuda com quaisquer APIs específicas, consulte a documentação relevante em nosso portal de desenvolvedores, usando os links fornecidos na seção APIs suportados. Para completude, você também pode consultar as especificações da API se acredita que existem discrepâncias.
P: Por que usar este SDK em vez do SDK do Vonage Java Server?
R: Este Kotlin SDK é realmente baseado no Java SDK para melhorar a experiência do usuário em Kotlin. Ele adiciona açúcar sintático, para que você possa evitar o padrão de construtor complicado em favor de uma sintaxe mais idiomática do tipo DSL, opcional e nomeado com valores padrão etc. enquanto ainda reagia a forte digitação oferecida pelo Java SDK. Além disso, você está mais parcialmente protegido dos "tipos de plataforma" (o !
), Para ter uma idéia melhor do que é e não é anulável ao criar solicitações. Você pode ler mais sobre as diferenças na postagem do blog do anúncio v1.0.0.
P: Qual é a sua política sobre segurança de threads?
R: Como no Java Server SDK, apenas um thread deve usar o cliente por vez. Se você deseja usar o SDK em um ambiente multithread, crie uma instância separada de Vonage
para cada thread ou use uma instância Threadlocal.
P: Estou tendo problemas com o meu projeto ao incluir o SDK como uma dependência. Como posso solucionar isso?
A: Por favor, veja esta postagem do blog. Em suma, você pode ter versões de dependência conflitantes em seu projeto, que se chocam com as dependências transitivas deste SDK.
P: Estou encontrando problemas de solicitação HTTP, como tempo limite. Como posso remediar ou relatar isso?
R: Como esta biblioteca usa o Java SDK embaixo, que por sua vez usa o Apache HTTP Client 4, você poderá usar as propriedades do sistema para configurar o cliente ou usar o método httpConfig
deste SDK na classe Vonage
para um controle mais fino. Se você acredita que há um problema com o cliente subjacente, aumente um problema com um exemplo reproduzível mínimo, incluindo detalhes do seu ambiente (versão JVM Runtime, versão SDK, sistema operacional etc.) no repositório Vonage Java SDK.
P: Não tenho certeza se meu problema está com o SDK. Como posso obter ajuda?
R: Consulte nossa página de suporte, incluindo informações de contato.
Contribuições para esta biblioteca!
É uma boa ideia conversar conosco primeiro se você planeja adicionar qualquer nova funcionalidade. Caso contrário, relatórios de bugs, correções de bugs e feedback na biblioteca são sempre apreciados. Você também pode entrar em contato conosco através dos seguintes canais: