Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

init metodu 4 parametre(hepsi zorunlu) almaktadır. SDK yı aşağıdaki gibi init edebilirsiniz.

Code Block
languagekotlin
        RelatedDigital.init(
                context = applicationContext,
                organizationId = "buraya organization id nizi yazınız",
                profileId = "buraya profile id nizi yazınız",
                dataSource = "buraya datasource değerini yazınız"
        )

Bu bilgilere RMC paneli üzerinden ulaşabilirsiniz.

...

Kullanılacak Modüllerin Aktifleştirilmesi

RelatedDigital SDK 3 ayrı modülden oluşmaktadır :

  • Push Notification Modülü (Euromessage)

  • In-App Notification Modülü (Visilabs)

  • Geofence Modülü

Kullanmak istediğiniz modülleri aşağıdaki gibi etkinleştirmeniz gerekmektedir.

Info

Modüllerin etkinleştirilmesi işleminin Application sınıfı içerisinde yapılması önerilir. Aşağıda SDK yı init eden ve tüm modülleri etkinleştiren örnek bir Application sınıfı bulunmaktadır

AndroidManifest.xml

Code Block
languagekotlin
    <application
        android:name=".MainApplication"

MainApplication.kt

Code Block
languagekotlin
class MainApplication : Application() {
    override fun onCreate() {
        super.onCreate()

        // RelatedDigital SDK nın init edilmesi
        RelatedDigital.init(
                context = applicationContext,
                organizationId = "organizationIdDeğeri",
                profileId = "profileIdDeğeri",
                dataSource = "dataSourceDeğeri")

        // In-App Notification Modülünün etkinleştirilmesi
        RelatedDigital.setIsInAppNotificationEnabled(
            context = applicationContext,
            isInAppNotificationEnabled = true
        )

        // Push Notification Modülünün Etkinleştirilmesi
        if(GoogleUtils.checkPlayService(this)) {
            getFirebaseToken()
        } else {
            getHuaweiToken()
        }

        // Geofence Modülünün Etkinleştirilmesi
        RelatedDigital.setIsGeofenceEnabled(
            context = applicationContext,
            isGeofenceEnabled = true
        )
    }

    private fun getFirebaseToken(){
        FirebaseMessaging.getInstance().token
            .addOnCompleteListener(OnCompleteListener { task ->
                if (!task.isSuccessful) {
                    Log.e("Firebase Token : ", "Getting the token failed!!!")
                    return@OnCompleteListener
                }
                val token = task.result

                // Push Notification Modülünün Etkinleştirilmesi
                RelatedDigital.setIsPushNotificationEnabled(
                    context = applicationContext,
                    isPushNotificationEnabled = true,
                    googleAppAlias = "googleAppAliasDeğeri",
                    huaweiAppAlias = "huaweiAppAliasDeğeri",
                    token = token
                )
            })
    }

    private fun getHuaweiToken() {
        object : Thread() {
            override fun run() {
                try {
                    val appId = AGConnectOptionsBuilder().build(applicationContext)
                        .getString("client/app_id")
                    val token = HmsInstanceId.getInstance(applicationContext).getToken(appId, "HCM")
                    if (TextUtils.isEmpty(token) || token == null) {
                        Log.e("Huawei Token : ", "Empty token!!!")
                        return
                    }
                    Log.i("Huawei Token", "" + token)

                    // Push Notification Modülünün Etkinleştirilmesi
                    RelatedDigital.setIsPushNotificationEnabled(
                        context = applicationContext,
                        isPushNotificationEnabled = true,
                        googleAppAlias = "googleAppAliasDeğeri",
                        huaweiAppAlias = "huaweiAppAliasDeğeri",
                        token = token
                    )
                } catch (e: ApiException) {
                    Log.e("Huawei Token", "Getting the token failed! $e")
                }
            }
        }.start()
    }
}