⚙️ Mobil Android SDK
Desk360 platformunun Android SDK özelliği sayesinde, Android uygulamalarınızın içine gömebileceğiniz bir müşteri destek masası oluşturabilirsiniz.
Sunduğu özellikler aşağıdaki gibidir:
  • Müşterilerinizin yeni destek talepleri oluşturmasını sağlayabilirsiniz.
  • Varolan talepleri görüntüleyebilir ve yanıtlayabilirsiniz.
  • İlgili destek ekipleriyle iletişim kurabilirsiniz.
Desk360'ın en güncel Android versiyonu 1.0.3 olarak kullanıma hazırdır.

Kurulum

Gradle
Android projenize Desk360’ı eklemek için proje seviyesindeki build.gradle dosyanızda aşağıdaki değişiklikleri yapın.
1
allprojects {
2
repositories {
3
...
4
maven { url 'https://jitpack.io' }
5
}
6
}
Copied!
App modulu seviyesindeki build.gradle dosyasına aşağıdakileri ekleyin.
1
dependencies {
2
implementation 'com.github.Teknasyon-Teknoloji:desk360-android-sdk:1.0.1'
3
}
Copied!
Maven
Step 1. Ayar dosyasına Jitpack deposunu ekleyin.
1
<repositories>
2
<repository>
3
<id>jitpack.io</id>
4
<url>https://jitpack.io</url>
5
</repository>
6
</repositories>
Copied!
Step 2. Dependency ekleyin.
1
<dependency>
2
<groupId>com.github.Teknasyon-Teknoloji</groupId>
3
<artifactId>desk360-android-sdk</artifactId>
4
<version>Tag</version>
5
</dependency>
Copied!
AndroidManifest.xml dosyasına ilgili activity’yi ekleyin.
1
<application
2
...
3
<activity
4
android:name="com.teknasyon.desk360.view.activity.Desk360BaseActivity"
5
android:windowSoftInputMode="stateHidden|adjustResize"
6
android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
7
</application>
Copied!

Network Security Config

Network-security-config.xml dosyası oluşturun ve uygulamanıza ekleyin.
1
<?xml version="1.0" encoding="utf-8"?>
2
<network-security-config>
3
<domain-config cleartextTrafficPermitted="true">
4
<domain includeSubdomains="true">teknasyon.desk360.com</domain>
5
</domain-config>
6
</network-security-config>
Copied!
Yeni xml dosyasının referansını manifest dosyasınıza ekleyin.
1
<application
2
...
3
android:networkSecurityConfig="@xml/network_security_config"
4
</application>
Copied!
Alternatif olarak manifest dosyasında aşağıdaki değişikliği yapabilirsiniz.
1
<application
2
...
3
android:usesCleartextTraffic="true"
4
</application>
Copied!

ProGuard

ProGuard kullanıyorsanız aşağıdaki kuralları ProGuard ayar dosyasınıza eklemelisiniz.
1
-keep class com.teknasyon.desk360.model.** { *; }
2
-keepnames class com.teknasyon.desk360.model.** { *; }
3
-keep class com.teknasyon.desk360.modelv2.** { *; }
4
-keepnames class com.teknasyon.desk360.modelv2.** { *; }
5
Copied!

Kullanım

Desk360 yardımcı methodu, Desk360 ekranını açmak için intent dönecektir." Target id , bildirim ile birlikte açılacak destek talebininin id’sidir. Eğer direk bir destek talebi açılması istenmiyorsa bu değer boş gönderilebilir. Push token, Firebase Messaging SDK üzerinden alınabilir. Bildirim entegrasyonu için Firebase kullanılmayacaksa bu değer boş bırakılabilir.

Start Desk360

1
val desk360SDKManager = Desk360SDKManager.Builder()
2
.appKey(BuildConfig.APP_KEY)
3
.appVersion(BuildConfig.VERSION_NAME)
4
.languageCode("tr")
5
.environment(Environment.PRODUCTION)
6
.platform(Platform.GOOGLE)
7
.countryCode("de")
8
.theme(1)
9
.jsonObject(JSONObject())
10
.addIntentFlags(
11
arrayOf(
12
Intent.FLAG_ACTIVITY_CLEAR_TOP,
13
Intent.FLAG_ACTIVITY_SINGLE_TOP
14
)
15
)
16
.name("user name")
17
.emailAddress("[email protected]")
18
.build()
19
20
val desk360Client = desk360SDKManager.initialize(_targetId = target_id, _token = push_token, _deviceToken = uuid)
21
desk360Client.start(this)
Copied!
parametreler
açıklamalar
token
Firebase token
targetId
Firebase mesajından alınan destek talebi id’si
appKey
Desk360 lisansını aldığınızda verilen Desk360 API Key
appVersion
Uygulamanızın versiyon numar
deviceToken
Cihaz/Kullanıcı için benzersiz bir uuid
appLanguage
Uygulama dili için ISO 639-1 kodu : "en", "fr" ,"tr"
environment
Prod ortamı için production Development ortamı için sandbox
platform
Sadece hms desteği olan Cihazlar için Platform.HUAWEI Diğerleri için: Platform.GOOGLE
appCountryCode
Ülke kodu
name
Kullanıcı adı
emailAddress
Kullanıcı e-posta adresi
enableHelpMode
Yardımcı ekranın aktif-pasif kullanılması için gerekli alan

Opsiyonel Bildirim Sistemi Kullanımı

Firebase Push Token elde edilmesi
1
FirebaseInstanceId.getInstance().instanceId
2
3
.addOnCompleteListener { task ->
4
5
if (task.isSuccessful && task.result != null) {
6
val token = task.result!!.token
7
}
8
}
Copied!
Firebase bildirimlerinden targetId elde edilmesi(Firebase Notification Service)
Uygulamanız çalışır durumdayken onMessageReceived methodu bildirimleri karşılayacaktır.
1
override fun onMessageReceived(remoteMessage: RemoteMessage) {
2
super.onMessageReceived(remoteMessage)
3
4
val hermes = remoteMessage.data["hermes"]
5
6
hermes?.let {
7
val targetId = Desk360Constants.getTicketId(hermes)
8
}
Copied!
"targetId" Kullanımı
Eğer target_id değeri null değilse Desk360 açılmalıdır, aksi durumda uygulamanızın başlangıç activity’sini açabilirsiniz.
1
örnek (firebaseMessagingService class) :
2
3
val pendingIntent: PendingIntent?
4
5
pendingIntent = targetId?.let { targetId ->
6
val desk360SDKManager = Desk360SDKManager.Builder()
7
.appKey("app key")
8
.appVersion("app version")
9
.languageCode("your selected ISO 639-1 Code for language: tr, en")
10
.environment("environment info: Environment.PRODUCTION or Environment.SANDBOX" )
11
.platform("mobile platform: Platform.GOOGLE or Platform.HUAWEI")
12
.countryCode("country code: tr, de")
13
.theme("theme id")
14
.jsonObject("for custom data")
15
.addIntentFlags(arrayOf(Intent.FLAG_ACTIVITY_CLEAR_TOP, Intent.FLAG_ACTIVITY_SINGLE_TOP))
16
.name("user name")
17
.emailAddress("user mail address")
18
.build()
19
val desk360Client = desk360SDKManager.initialize(
20
_targetId = "targetId from notification body",
21
_token = "your firebase token",
22
_deviceToken = "your Android device id"
23
)
24
val intent = desk360Client.getIntent(this)
25
PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT)
26
} ?: run {
27
PendingIntent.getActivity(this, 0, Intent(this, YourStartingActivity::class.java), PendingIntent.FLAG_ONE_SHOT)
28
}
Copied!
Intent üzerinden “targetId” elde edilmesi(Başlangıç Activity'si)
Uygulamanız çalışır durumda değilse bildirime basıldığında içerik activity’nin intent’i ile gelecektir.
1
val bundle = intent.extras
2
bundle?.let {
3
4
val hermes = bundle?.getString("hermes")
5
hermes?.let {
6
val targetId = Desk360Constants.getTicketId(hermes)
7
}
8
}
Copied!
Bildirimler olmadan Desk360 açılması
Uygulamanız bildirim sistemi kullanmıyorsa token ve targetId değerlerine “” verebilirsiniz.
1
val desk360SDKManager = Desk360SDKManager.Builder()
2
.appKey("app key")
3
.appVersion("app version")
4
.languageCode("your selected ISO 639-1 Code for language: tr, en")
5
.environment("String flag for sandbox or production environment info")
6
.platform("Only hms device Platform.HUAWEI, others Platform.GOOGLE")
7
.countryCode("country code: tr, de")
8
.theme("theme id")
9
.jsonObject("for custom data")
10
.addIntentFlags(arrayOf(Intent.FLAG_ACTIVITY_CLEAR_TOP, Intent.FLAG_ACTIVITY_SINGLE_TOP))
11
.name("user name")
12
.emailAddress("user mail address")
13
.build()
14
15
val desk360Client = desk360SDKManager.initialize(
16
_targetId = "targetId from notification body",
17
_token = "your firebase token",
18
_deviceToken = "your Android device id"
19
)
20
21
startActivity(desk360Client.getIntent(this))
22
finish()
Copied!

Dil

Eğer özelleştirilmiş dil kullanmak istemiyorsanız dili “” olarak ayarlayabilirsiniz, Desk360 SDK cihazın dilini kullanacaktır.

Desk360 Görünüm Özelleştirme

Desk360 görünümünü özelleştirmek için Desk360 Yönetim Paneli’ni kullanmalısınız.
Daha fazla bilgi için lütfen bizimle [email protected]desk360.com maili üzerinden iletişime geçin
Last modified 3mo ago