Sunday, September 9, 2018

Android Chat & Messaging by SendBird

Hello guys!
Welcome back to my blog!

Dalam kesempatan ini kita akan bahas sebuah third-party yang menyediakan jasa chat & messaging khususnya untuk mobile platform Android dan iOS, akan tetapi yang akan kita bahas nanti sebatas androidnya aja. Mari kita simak fiturnya apa aja.


Features


Chat & Messaging

Chat & messaging merupakan fitur utama dari SendBird ini yang menyediakan berbagai keperluan dalam chatting dan messaging tentunya seperti :
  • Push Notification
  • Typing Indicators
  • Send & Receive Structured Media
  • Auto-Thumbnail Generation
  • Read Receipts
  • User-to-User Blocking


Moderation & Data

Moderation & Data merupakan fitur content management system yang dapat mengatur konten percakapan pengguna aplikasi, mengekspor data pesan yang tersimpan, analytics, dan alat moderasi yang dapat mengatur percakapan lebih bermakna.


Customer Support

Customer Support merupakan fitur support dan ticketing system yang dapat digunakan oleh aplikasi tentunya. Dimana di dalam fitur ini terdapat 3 role yaitu : 
  • Admin : yang mengatur interaksi semua customer dari awal sampai akhir.
  • Agent : yang menjawab pertanyaan atau keluhan dari customer sesuai dengan ticket yang telah diroute untuk agent yang tersedia.
  • Customer : yang menerima bantuan maupun mengirim pertanyaan dari agent melalui web maupun mobile interface.


Security & Compliance

SendBird telah tersertifikasi ISO 27001 dan EU-US Privacy Shield, tentunya mentaati juga undang-undang General Data Protection Regulation (GDPR). Dalam komunikasi antar server dan klien nya terenkripsi menggunakan TLS/SSL dengan otentikasi perangkat-perangkat yang digunakan klien dan server-side. Kemudian, semua file tersimpan dengan AES256 encryption di cloud private mereka dengan akses yang sangat terbatas. Dan tentunya mereka secara berkala melakukan penetration test untuk memastikan keamanan. 


Implementation


Step 1 : Buat aplikasi baru dari dashboard SendBird

Bagi yang belum daftar, silahkan daftar dulu ya ...

Setelah masuk, akan muncul gambar seperti di bawah ini :


Buat nama aplikasinya, kemudian tekan Confirm untuk lanjut ke tahap berikutnya.


Step 2 : Install SendBird SDK

Setelah buat project di Android Studio nya, masukkan line berikut di build.gradle project-nya :

repositories {
    maven { url "https://raw.githubusercontent.com/smilefam/SendBird-SDK-Android/master/" }
}
dependencies {
    implementation 'com.sendbird.sdk:sendbird-android-sdk:3.0.72'
}


Step 3 : Grant Permission

Setelah proses sinkronisasi selesai, masukkan line berikut di AndroidManifest.xml untuk meng-grant akses storage jika chat & messaging nanti akan mengirim dan menerima gambar atau video :

<uses-permission android:name="android.permission.INTERNET" />

<!-- READ/WRITE_EXTERNAL_STORAGE permissions are required to upload or download files from/into external storage. ->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


Step 4 : Initialisasi SDK

Mari kita mulai proses inisiasi sendbird dengan memasukkan line berikut ke kelas yang meng-extend Application dalam method onCreate():

SendBird.init(APP_ID, Context context);


Step 5 : Connect ke SendBird

Setelah SDK diinisiasi pada kelas application, hubungkan user ke SendBird menggunakan USER_ID yang telah terdaftar di dashboard sendbird tadi :

SendBird.connect(USER_ID, new ConnectHandler() {
    @Override
    public void onConnected(User user, SendBirdException e) {
        if (e != null) {    // Error.
            return;
        }
    }
});


Step 6 : Buat open channel baru

Setelah user terhubung ke SendBird, buat open channel baru agar user lain dapat langsung masuk ke dalam channel tanpa harus di-invite terlebih dahulu :

OpenChannel.createChannel(new OpenChannel.OpenChannelCreateHandler() {
    @Override
    public void onResult(OpenChannel openChannel, SendBirdException e) {
        if (e != null) {    // Error.
            return;
        }
    }
});


Step 7 : Masuk ke channel yang telah dibuat

Setelah channel dibuat, hubungkan user ke channel tersebut menggunakan CHANNEL_URL yang telah didapat pada step sebelumnya :

OpenChannel.getChannel(CHANNEL_URL, new OpenChannel.OpenChannelGetHandler() {
    @Override
    public void onResult(OpenChannel openChannel, SendBirdException e) {
        if (e != null) {    // Error.
            return;
        }

        openChannel.enter(new OpenChannel.OpenChannelEnterHandler() {
            @Override
            public void onResult(SendBirdException e) {
                if (e != null) {    // Error.
                    return;
                }
            }
        });
    }
});


Step 8 : Kirim pesan ke channel tersebut

Setelah user terhubung ke channel tersebut, kirim pesan menggunakan line berikut : 

channel.sendUserMessage(MESSAGE, DATA, CUSTOM_TYPE, new BaseChannel.SendUserMessageHandler() {
    @Override
    public void onSent(UserMessage userMessage, SendBirdException e) {
        if (e != null) {    // Error.
            return;
        }
    }
});


Tadaa! Selamat anda telah sukses implementasi chat oleh SendBird di project android dengan mengirim pesan pertama anda!

Oke guys, karena di-blog ini gw hanya ngebahas sebatas implementasi chat nya di android, kalian bisa cek bagaimana implementasi di platform lainnya atau implementasi fitur lainnya seperti ticketing system di website-nya langsung ya.

Sekian dari gw, mohon maaf bila ada kata yang kurang berkenan dan sampai jumpa di blog lainnya.
See ya!

No comments:

Post a Comment