Desk360 Docs
Search
K

Mobile Chat Android SDK

Desk360 Mobile Chat SDK for Android is an open source Android library that provides live support to your customers directly from your application by writing a few lines of code.

Features

  • Talk to your customers using our panel and make use of our SDK to identify a user and provide contextual support.
  • Powered by Firebase realtime database.
  • Username/email address login.
  • Offline messaging support.
  • Text, image, video (.mp4) and document (word, excel, pdf) messages.
  • Ability to integrate chatbots.
  • Multi-languages support: It supports 40+ languages.
  • Chat feedback.
  • Canned RE
  • Smart Plug
  • Custom Fields
  • Auto Login
  • Canned Response

Technical Details

  • Coding Language - %100 Kotlin
  • Persistence - Room
  • Reactive Programming - RXJava, RXAndroid
  • Multi-threading
  • Architecture- MVVM, Use Cases
  • Binding- Data Binding, View Binding
  • API Level 21+

Setup

To integrate Desk360 Live Chat into your Android project , add below parts to your build.gradlle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
To enable the usage of data binding in your Android application, add the following snippet to the app/build.gradle file.
android {
dataBinding.enabled = true
}
Add the dependency
dependencies {
implementation 'com.github.Teknasyon-Teknoloji:desk360-livechat-android-sdk:1.0.8'
}
Add File Provider to Your AndroidManifest.xml
<application>
...
<provider
android:name=".YourFileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
....
</application>

Usage

import com.desk360.livechat.manager.Desk360LiveChat
import com.desk360.livechat.manager.LiveChatHelper
import com.desk360.livechat.manager.LiveChatManager
val settings = mapOf("age" to "23")
val liveChatManager = LiveChatManager.Builder()
.setDomainAddress("https://domain.desk360.com")
.setToken("token")
.setLanguageCode("tr")
.setUserName("Luke")
.setUserEmailAddress("[email protected]")
.setSmartPlug(settings)
.build()
Desk360LiveChat.init(this, liveChatManager) { isActive ->
// You can start Desk360LiveChat after initialization completed
btnLiveChat.visibility = if (isActive)
View.VISIBLE
else
View.GONE
}
btnLiveChat.setOnClickListener {
// when you want to start Live Chat
Desk360LiveChat.start()
}

ProGuard

If you are using proguard you must add this rules to avoid further compile issues.
-keep class com.desk360.livechat.data.** { *; }
-keepnames com.desk360.livechat.data.** { *; }

Support

For further information, please with contact us [email protected]
Visit our GITHUB page for usage, technical setup and detailed info.