Live Chat SDK Kotlin

Configuration

Menggunakan versi Java 11 atau Android API 26 keatas

Untuk menggunakan DolphinLiveChat library SDK diharapkan untuk mengikuti langkah-langkah berikut ini:

  1. Anda perlu melakukan import library kami ke dalam project milik Anda

    • Anda dapat merakit dolphin lib dan mendapatkan file arr. (Di android studio: Gradle-> Expand dolphinlib-> build -> klik dua kali assemble)

    • Setelah build selesai, Anda akan mendapatkan lokasi aar

    • Pindahkan file arr ke folder “libs” dari client-app

  2. Anda perlu menambahkan beberapa dependensi di dalam aplikasi .gradle milk Anda. Kemudian, lakukan sinkronisasi untuk mengkompilasi 3Dolphins SDK. Contoh penerapan langkah ini adalah dengan memasukkan DolphinLiveChat ke dalam project Anda dengan meletakkannya di folder libs/ misalnya, sebagai dependensi kompilasi Gradle:

implementation(files("libs/dolphin-live-chat.aar"))

Create Instance

Anda memerlukan url server, client id, dan client secret untuk aplikasi sebelum melakukan autentikasi.

Bisa didapatkan pada menu channel connector milik channel live chat

Inisialisasi ini hanya perlu dilakukan satu kali dalam siklus hidup aplikasi dan dapat diterapkan pada permulaan awal. Berikut cara melakukannya:

package com.imi.dolphin.livechat.DolphinLiveChatFactory;

class MainActivity : ComponentActivity() {


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        EventBus.getDefault().register(this)


        val dolphinLiveChat : DolphinLiveChat = DolphinLiveChatFactory.create()
        val dolphinCore : DolphinCore = DolphinCore(
            clientId = <CLIENT_ID>,
            clientSecret = <CLIENT_SECRET>,
            channelUrl = <CHANNEL_URL>
        )

        dolphinLiveChat.init(dolphinCore = dolphinCore)
    }
}

Connect to Server

Anda harus melakukan inisialisasi Dolphin Connector. Berikut cara melakukannya:

 val dolphinProfile : DolphinProfile = DolphinProfile(
            username = <USERNAME>,
            email = <EMAIL>,
            phoneNumber = <PHONE>,
            uid = <UID>,
            customerId = null
        )

val dolphinLiveChatConnector : DolphinLiveChatConnector = dolphinLiveChat.getConnector(
            dolphinProfile = dolphinProfile
        )

Penjelasan Komponen:

Nama
Deskripsi

DolphinProfile

Merupakan identitas dari user yang melakukan chat

username

Merupakan nama dari user tersebut

email

Merupakan email dari user tersebut

phoneNumber

Merupakan nomor teleponn dari user tersebut

uid

Berguna untuk menentukan sesi user ini akan membuat tiket baru atau tidak

Jika Anda memiliki field tambahan yang akan dikirim ke server, Anda dapat memasukkannya di customVariables. Berikut merupakan contoh customVariables (JsonArray)

JSONArray customVariables = new JSONArray();
JSONObject field = new JSONObject();
field.put("name", "Doni");
customVariables.put(field);

dolphinProfile.customVariableJsonArray = customVariables

Setelah dolphin connector berhasil diinisiasi, Anda dapat melakukan autentikasi ke server dengan:

dolphinLiveChatConnector.connect(dolphinProfile)

Event Handler

DolphinChat SDK menggunakan EventBus untuk menyiarkan peristiwa ke seluruh aplikasi. Yang perlu Anda lakukan adalah mendaftarkan objek yang akan menerima peristiwa dari EventBus. Anda dapat memanggilnya seperti ini:

EventBus.getDefault().register(this);

You can put this code in onResume(), onCreate() or onStart() method

Setelah Anda tidak perlu lagi menangkap event tersebut, Anda harus membatalkan pendaftaran penerima dengan memanggil metode ini:

EventBus.getDefault().unregister(this);

You can put this code in onDestroy() method

Receive Message

Untuk dapat menerima pesan, lakukan ini:

@Subscribe
public void onReceiveMessage(ChatEvent chatEvent) {
    when (chatEvent.status) {
        ChatEvent.Status.INCOMING -> {
        // do something
        // chatEvent.chat get chat data
        // chatEvent.type get chat type
        }
        ChatEvent.Status.MESSAGE_READ -> {
        // do something
        // chatEvent.chat get chat data
        // chatEvent.type get chat type
        }

        ChatEvent.Status.MESSAGE_SENT -> {
        // do something
        // chatEvent.chat get chat data
        // chatEvent.type get chat type
        }

        ChatEvent.Status.MESSAGE_SEND_FAILED -> {
        // do something
        // chatEvent.status get chat status
        }

        ChatEvent.Status.AGENT_TYPING -> {
        // do something
        // chatEvent.chat get chat data
        // chatEvent.type get chat type
        }
        else -> return
    }

Send Message

DolphinConnect.getInstance().sendMessage("text message");

Send Media Message

DolphinConnect.getInstance().sendFile(file, DolphinChat.Type.IMAGE);

There are 4 media type, that is: IMAGE, DOCUMENT, AUDIO and VIDEO

Binaries

Dependensi yang diperlukan untuk aplikasi 3Dolphins

implementation(libs.androidx.appcompat)
    implementation(libs.androidx.core.ktx)
    implementation(libs.converter.gson)
    implementation(libs.eventbus)
    implementation(libs.jackson.module.kotlin)
    implementation(libs.java.websocket)
    implementation(libs.logging.interceptor)
    implementation(libs.material)
    implementation(libs.okhttp)
    implementation(libs.retrofit)
    implementation(libs.rxandroid)
    implementation(libs.adapter.rxjava3)
    implementation(libs.rxjava3)
    implementation(libs.kotlin.reflect)
    implementation(libs.timber)

    testImplementation(libs.junit)
    testImplementation(libs.mockito.core)
    testImplementation(libs.mockito.kotlin)

    androidTestImplementation(libs.androidx.espresso.core)
    androidTestImplementation(libs.androidx.junit)

Last updated

Was this helpful?