Kotlin SDK ini memungkinkan Anda menggunakan Vonage API dalam aplikasi berbasis JVM apa pun. Anda harus membuat akun Vonage.
Kami juga menyediakan SDK server dalam bahasa lain:
Kami juga menawarkan SDK sisi klien untuk Android, iOS dan JavaScript. Lihat semua SDK dan integrasi kami di Portal Pengembang Vonage.
Rilis diterbitkan ke Maven Central. Instruksi untuk sistem build Anda dapat ditemukan di bagian cuplikan. Mereka juga tersedia dari sini. Catatan rilis untuk setiap versi dapat ditemukan di Changelog.
Berikut adalah instruksi untuk memasukkan SDK dalam proyek Anda:
Tambahkan yang berikut ini ke file build.gradle
atau build.gradle.kts
Anda:
dependencies {
implementation( " com.vonage:server-sdk-kotlin:1.1.0 " )
}
Tambahkan yang berikut ini ke bagian <dependencies>
dari file pom.xml
Anda:
< dependency >
< groupId >com.vonage</ groupId >
< artifactId >server-sdk-kotlin</ artifactId >
< version >1.1.0</ version >
</ dependency >
Catatan : Kami sangat menyarankan Anda menggunakan alat dengan manajemen ketergantungan, seperti Maven atau Gradle.
Atau Anda dapat mengkloning repo dan membangun file jar sendiri:
git clone [email protected]:vonage/vonage-kotlin-sdk.git
mvn install -P uberjar
Profil uberjar
akan membuat file jar dengan semua dependensi yang termasuk dalam direktori target
pada akar repo. Anda kemudian dapat memasukkan ini di classpath proyek Anda.
SDK membutuhkan sedikit konfigurasi untuk memulai.
Untuk konfigurasi default, Anda hanya perlu menentukan kredensial akun vonage Anda menggunakan kunci API dan rahasia, kunci pribadi dan ID aplikasi atau keduanya. Untuk kompatibilitas maksimum dengan semua API, disarankan agar Anda menentukan kedua metode otentikasi, seperti itu:
import com.vonage.client.kt.Vonage
val vonage = Vonage {
apiKey( API_KEY ); apiSecret( API_SECRET )
applicationId( APPLICATION_ID )
privateKeyPath( PRIVATE_KEY_PATH )
}
Anda juga dapat menggunakan variabel lingkungan untuk kenyamanan, dengan mengatur yang berikut:
VONAGE_API_KEY
- kunci API akun AndaVONAGE_API_SECRET
- Rahasia API Akun AndaVONAGE_SIGNATURE_SECRET
- (Lanjutan, Opsional) Rahasia tanda tangan untuk permintaan yang ditandatangani saat menggunakan API SMSVONAGE_APPLICATION_ID
- uuid dari aplikasi vonage yang ingin Anda gunakanVONAGE_PRIVATE_KEY_PATH
- jalur absolut ke file kunci pribadi untuk aplikasidan kemudian instantiate klien dengan:
val vonage = Vonage { authFromEnv() }
Anda dapat mengonfigurasi URI basis (misalnya, untuk melakukan tes integrasi) dan waktu tunggu permintaan HTTP dengan httpConfig
selama instantiasi, seperti itu:
val vonageClient = Vonage {
authFromEnv()
httpConfig {
baseUri( " http://localhost:8976 " )
timeoutMillis( 15000 )
}
}
Seperti halnya SDK kami yang lain, arsitektur ini didasarkan pada kelas Vonage
, yang mendefinisikan kredensial otentikasi dan pengaturan lanjutan opsional untuk klien HTTP. Kelas memiliki bidang untuk setiap API yang didukung, yang mengembalikan metode yang berisi metode yang tersedia pada API itu. Di mana SDK berbeda dari SDK lain adalah menggunakan pendekatan berbasis sumber daya untuk operasi CRUD, daripada daftar metode datar. Ini adalah kelas dalam yang didefinisikan untuk setiap sumber daya API dan selalu diawali dengan Existing
- misalnya, ExistingCall
, ExistingSession
, ExistingApplication
, dll. Sebagai aturan umum, sumber daya dengan pengidentifikasi unik memiliki kelas Existing[Resource]
yang digunakan untuk melakukan operasi pada Sumber daya itu, alih -alih berulang kali melewati ID sumber daya itu ke metode pada kelas induk, seperti halnya dalam Java SDK. Kelas sumber daya ini dibangun dari panggilan metode di kelas API tingkat atas. Jadi, misalnya, untuk bekerja dengan ExistingSession
, Anda akan melakukan: client.video.session(SESSION_ID)
, di mana client
adalah contoh dari Vonage
dan SESSION_ID
adalah pengidentifikasi unik dari sesi video yang ingin Anda kerjakan.
Anda dapat menemukan sampel kode runnable lengkap dalam repositori cuplikan kode, termasuk daftar cuplikan yang dapat dicari .
SDK sepenuhnya didokumentasikan dengan KDOCS, jadi Anda harus memiliki dokumentasi lengkap dari IDE Anda. Anda mungkin perlu mengklik "Sumber Unduh" di IntelliJ untuk mendapatkan dokumentasi lengkap. Atau, Anda dapat menelusuri dokumentasi menggunakan layanan seperti javadoc.io, yang membuat dokumentasi untuk Anda dari artefak di Maven Central.
Untuk bantuan dengan API spesifik apa pun, lihat dokumentasi yang relevan di portal pengembang kami, menggunakan tautan yang disediakan di bagian API yang didukung. Untuk kelengkapan, Anda juga dapat berkonsultasi dengan spesifikasi API jika Anda yakin ada perbedaan.
T: Mengapa menggunakan SDK ini alih -alih Vonage Java Server SDK?
A: Kotlin SDK ini sebenarnya didasarkan pada Java SDK untuk meningkatkan pengalaman pengguna di Kotlin. Ini menambahkan gula sintaksis, sehingga Anda dapat menghindari pola pembangun yang rumit demi sintaksis seperti DSL yang lebih idiomatik, parameter opsional dan bernama dengan nilai default, dll. Sementara masih kembali mengulangi pengetikan kuat yang ditawarkan oleh Java SDK. Selain itu, Anda lebih banyak terlindung dari "tipe platform" (The !
) Jadi Anda memiliki gagasan yang lebih baik tentang apa yang tidak dapat dan tidak dapat dibatalkan saat membuat permintaan. Anda dapat membaca lebih lanjut tentang perbedaan dalam posting blog pengumuman v1.0.0.
T: Apa kebijakan Anda tentang keamanan utas?
A: Seperti halnya SDK Server Java, hanya satu utas yang harus menggunakan klien sekaligus. Jika Anda ingin menggunakan SDK di lingkungan multithreaded, buat instance Vonage
terpisah untuk setiap utas, atau gunakan instance threadlocal.
T: Saya mengalami masalah dengan proyek saya ketika memasukkan SDK sebagai ketergantungan. Bagaimana saya bisa memecahkan masalah ini?
A: Silakan lihat posting blog ini. Singkatnya, Anda mungkin memiliki versi ketergantungan yang saling bertentangan dalam proyek Anda yang berbenturan dengan ketergantungan transitif SDK ini.
T: Saya menemukan masalah permintaan HTTP, seperti timeout. Bagaimana cara memperbaiki atau melaporkan ini?
A: Karena pustaka ini menggunakan Java SDK di bawahnya, yang pada gilirannya menggunakan Apache HTTP Client 4, Anda mungkin dapat menggunakan properti sistem untuk mengonfigurasi klien, atau menggunakan metode httpConfig
SDK ini pada kelas Vonage
untuk kontrol yang lebih halus. Jika Anda yakin ada masalah dengan klien yang mendasarinya, silakan angkat masalah dengan contoh yang dapat direproduksi minimal, termasuk rincian lingkungan Anda (versi runtime JVM, versi SDK, sistem operasi dll.) Pada repositori Vonage Java SDK.
T: Saya tidak yakin apakah masalah saya dengan SDK. Bagaimana saya bisa mendapatkan bantuan?
A: Silakan lihat halaman dukungan kami, termasuk informasi kontak.
Kami ❤️ Kontribusi ke perpustakaan ini!
Adalah ide yang baik untuk berbicara dengan kami terlebih dahulu jika Anda berencana untuk menambahkan fungsionalitas baru. Jika tidak, laporan bug, perbaikan bug dan umpan balik di perpustakaan selalu dihargai. Anda juga dapat menghubungi kami melalui saluran berikut: