Sendbird Chat SDK untuk Android memungkinkan Anda menambahkan obrolan real-time ke aplikasi klien Anda dengan sedikit usaha. Sendbird menawarkan solusi obrolan yang kaya fitur, terukur, dan terbukti yang diandalkan oleh perusahaan seperti Reddit, Hinge, PubG, dan Paytm.
SDK Obrolan menyediakan fungsionalitas penuh untuk memberikan pengalaman obrolan yang kaya, penerapannya dimulai dengan menambahkan login pengguna, mencantumkan saluran yang tersedia, memilih atau membuat saluran terbuka atau saluran grup, dan menerima pesan dan acara lainnya melalui delegasi acara saluran dan kemampuan untuk mengirim pesan. Setelah fungsi dasar ini diterapkan, selamat, Anda sekarang memiliki aplikasi obrolan!
Setelah ini diterapkan, lihat semua fitur lain yang didukung Sendbird dan tambahkan fitur yang terbaik bagi pengguna Anda.
Cari tahu lebih lanjut tentang Sendbird Chat untuk Android di dokumentasi. Jika Anda memiliki komentar, pertanyaan, atau permintaan fitur, beri tahu kami di komunitas Sendbird.
Persyaratan minimum untuk Chat SDK untuk Android adalah:
Android 5.0 (API level 21) or higher
Java 8 or higher
Android Gradle plugin 3.4.2 or higher
Firebase Cloud Messaging 19.0.1 or higher
Catatan : Server Sendbird mendukung Transport Layer Security (TLS) dari versi 1.0 hingga 1.3. Misalnya, di wilayah server di mana TLS 1.3 tidak tersedia, versi yang lebih rendah, secara berurutan dari 1.2 hingga 1.0, akan didukung untuk transmisi data yang aman.
Cara tercepat untuk memulai adalah dengan menggunakan salah satu aplikasi sampel dari repo sampel, buat aplikasi di dasbor Sendbird dan salin App ID
ke aplikasi sampel dan Anda siap berangkat.
Sebelum menginstal Sendbird Chat SDK, Anda perlu membuat aplikasi Sendbird di Dashboard Sendbird. Anda memerlukan App ID
aplikasi Sendbird Anda saat menginisialisasi SDK Obrolan.
Catatan : Setiap aplikasi Sendbird dapat diintegrasikan dengan satu aplikasi klien. Dalam aplikasi yang sama, pengguna dapat berkomunikasi satu sama lain di semua platform, baik di perangkat seluler atau di web.
Menginstal SDK Obrolan sangatlah mudah jika Anda terbiasa menggunakan pustaka atau SDK eksternal. Pertama, tambahkan kode berikut ke file root build.gradle
Anda:
allprojects {
repositories {
.. .
maven { url " https://repo.sendbird.com/public/maven " }
}
}
Catatan: Pastikan blok kode di atas tidak ditambahkan ke file
build.gradle
modul Anda.
Jika menggunakan Gradle 6.8 atau lebih tinggi, tambahkan yang berikut ke file settings.gradle
Anda:
dependencyResolutionManagement {
repositories {
maven { url " https://repo.sendbird.com/public/maven " }
}
}
Lalu, tambahkan ketergantungan ke file build.gradle
tingkat atas proyek:
dependencies {
.. .
implementation ' com.sendbird.sdk:sendbird-chat:4.21.1 '
.. .
}
TLS 1.3 diaktifkan secara default di Sendbird SDK untuk Android. Untuk menonaktifkannya, harap sertakan konfigurasi berikut ke ketergantungan gradle:
Catatan: SDK Android SendBird bergantung pada pustaka Conscrypt untuk mendukung TLS 1.3
dependencies {
implementation ( ' com.sendbird.sdk:sendbird-chat:4.21.1 ' ) {
exclude group : ' org.conscrypt ' , module : ' conscrypt-android '
}
}
Chat SDK memerlukan izin sistem, yang memungkinkan komunikasi dengan server Sendbird serta membaca dan menulis di penyimpanan perangkat pengguna. Untuk memberikan izin sistem, tambahkan baris berikut ke file AndroidManifest.xml
Anda.
< uses-permission android : name = " android.permission.INTERNET " />
< uses-permission android : name = " android.permission.READ_EXTERNAL_STORAGE " />
< uses-permission android : name = " android.permission.WRITE_EXTERNAL_STORAGE " />
Saat Anda membuat APK dengan minifyEnabled true
, tambahkan baris berikut ke file aturan ProGuard
modul.
-dontwarn com.sendbird.android.shadow. **
Sekarang SDK Obrolan telah diimpor, kami siap untuk mulai mengirim pesan.
Untuk menggunakan fitur Chat SDK, instance SendbirdChat
harus dimulai melalui otentikasi pengguna dengan server Sendbird. Instance ini berkomunikasi dan berinteraksi dengan server berdasarkan akun pengguna yang diautentikasi, lalu aplikasi klien pengguna dapat menggunakan fitur Chat SDK.
Berikut langkah-langkah mengirim pesan pertama Anda menggunakan Chat SDK:
Sekarang, inisialisasi SDK Obrolan di aplikasi untuk memungkinkan SDK Obrolan merespons perubahan status koneksi di aplikasi klien Android.
Untuk menginisialisasi instance SendbirdChat
, teruskan APP_ID
aplikasi Sendbird Anda di Dasbor Sendbird sebagai argumen ke parameter dalam metode SendbirdChat.init()
. Karena SendbirdChat.init()
hanya dapat berupa satu instance, panggil hanya satu kali di aplikasi klien Android Anda. Biasanya, inisialisasi diterapkan di layar login pengguna.
Catatan: Disarankan untuk menginisialisasi Chat SDK dalam metode
onCreate()
pada instanceApplication
.
SendbirdChat . init ( InitParams ( APP_ID , applicationContext, useCaching = true ))
Setelah inisialisasi dengan menggunakan metode init()
, aplikasi klien Anda harus selalu terhubung ke server Sendbird sebelum memanggil metode apa pun. Jika Anda mencoba memanggil suatu metode tanpa menghubungkan, kesalahan ERR_CONNECTION_REQUIRED (800101)
akan muncul kembali.
Hubungkan pengguna ke server Sendbird baik melalui ID pengguna unik atau dikombinasikan dengan token akses. Sendbird lebih memilih metode terakhir, karena menjamin privasi pengguna. Yang pertama berguna selama fase pengembangan atau jika layanan Anda tidak memerlukan keamanan tambahan.
Hubungkan pengguna ke server Sendbird menggunakan ID pengguna uniknya. Secara default, server Sendbird dapat mengautentikasi pengguna dengan ID pengguna unik. Setelah meminta koneksi, server menanyakan database untuk memeriksa kecocokan. Setiap ID pengguna yang belum diambil secara otomatis terdaftar sebagai pengguna baru di sistem Sendbird, sementara ID yang sudah ada diperbolehkan untuk login secara tidak langsung. ID harus unik dalam aplikasi Sendbird, seperti alamat email atau nomor telepon yang di-hash di layanan Anda.
Hal ini memungkinkan Anda untuk memulai dan menjalankannya tanpa harus mendalami detail proses pendaftaran token, namun pastikan untuk mengaktifkan penerapan token sebelum peluncuran karena ini merupakan risiko keamanan jika diluncurkan tanpanya.
SendbirdChat .connect( USER_ID ) { user, e ->
if (e != null ) { // Error.
return @connect
}
}
Sendbird lebih suka Anda meneruskan ID APLIKASI melalui penggunaan token, karena ini menjamin privasi dan keamanan bagi pengguna. Buat pengguna beserta token aksesnya, atau keluarkan token sesi untuk diteruskan selama koneksi. Perbandingan antara token akses dan token sesi dapat ditemukan di sini. Setelah token diterbitkan, pengguna diharuskan memberikan token yang diterbitkan dalam metode SendbirdChat.connect()
yang digunakan untuk login.
SendbirdChat.connect()
. SendbirdChat .connect( USER_ID , AUTH_TOKEN ) { user, e ->
if (e != null ) { // Error.
return @connect
}
}
Buat saluran terbuka menggunakan kode berikut. Saluran terbuka adalah tempat semua pengguna di aplikasi Sendbird Anda dapat berpartisipasi dengan mudah tanpa undangan.
OpenChannel .createChannel( OpenChannelCreateParams ()) { channel, e ->
if (e != null ) { // Error.
return @createChannel
}
}
Catatan : Anda juga dapat membuat saluran grup untuk mengirim pesan. Untuk mempelajari lebih lanjut, lihat Membuat saluran di halaman Saluran grup.
Masuk ke saluran terbuka untuk mengirim dan menerima pesan.
OpenChannel .getChannel( CHANNEL_URL ) { channel, e ->
if (e != null ) { // Error.
return @getChannel
}
channel?.enter { enterError ->
if (enterError != null ) { // Error.
return @enter
}
}
}
Terakhir, kirim pesan ke saluran tersebut. Ada tiga jenis: pesan pengguna, yang berupa teks biasa, pesan file, yang berupa file biner, seperti gambar atau PDF, dan pesan admin, yang berupa teks biasa yang juga dikirim melalui dasbor atau Platform Obrolan API.
openChannel.sendUserMessage( MESSAGE ) { message, e ->
if (e != null ) { // Error.
return @sendUserMessage
}
}
Ukuran SDK Obrolan merupakan faktor penting untuk dipertimbangkan saat mengintegrasikannya ke dalam aplikasi Anda. Ukuran SDK Obrolan adalah sebagai berikut:
Di Sendbird, kami adalah sekelompok individu yang rendah hati, ramah, dan pekerja keras yang disatukan oleh tujuan bersama untuk membangun teknologi seluler & sosial generasi berikutnya, melalui obrolan, suara, dan video, yang mengubah cara kita bekerja dan hidup. Kami selalu mencari orang-orang hebat untuk bergabung dengan tim kami. Lihat halaman karir kami untuk informasi lebih lanjut.