Versions Compared

Key

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

...

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()
    }
}

Push Notification Modülü (Euromessage)

Bildirim Alanın Özelleştirilmesi

Bu modül mobil bildirim kampanyalarınız içindir. Yukarda belirtildiği gibi etkinleştirilmesi gerekmektedir.

RelatedDigital.setIsPushNotificationsEnabled() metodu 5 zorunlu, 8 opsiyonel parametrede almaktadır.

Zorunlu parametreler:

  • context: Context

  • isPushNotificationEnabled: Boolean

  • googleAppAlias: String

  • huaweiAppAlias: String

  • token: String

Opsiyonel Parametreler

  • notificationSmallIcon: Int

  • notificationSmallIconDarkMode: Int

  • isNotificationLargeIcon: Boolean

  • notificationLargeIcon: Int

  • notificationLargeIconDarkMode

  • notificationPushIntent: String

  • notificationChannelName: String

  • notificationColor: String

...

Opsiyonel Parametreler

...

Açıklama

...

notificationSmallIcon

...

Status Bar’da ve bildirim alanının sol üstünde görüntülenecek ikonu girmek içindir. Projenizdeki herhangi bir resource un id sini vermeniz gerekmektedir.

Eğer değer girilmezse uygulamanızın simgesi kullanılır.

...

notificationSmallIconDarkMode

...

Cihaz koyu temadayken görünecek notificationSmallIcon değerini girmek içindir.

Eğer değer girilmezse uygulamanızın simgesi kullanılır.

...

isNotificationLargeIcon

...

Bildirim alanının sağında bir ikon bulunup bulunmamasına karar vermek içindir.

true → bulunur

false → bulunmaz

Eğer değer girilmezse büyük ikon kullanılmaz.(false)

...

notificationLargeIcon

...

Bildirim alanının sağında görünecek büyük ikonu girmek içindir. Projenizdeki herhangi bir resource un id sini vermeniz gerekmektedir.

Eğer değer girilmezse ve isNotificationLargeIcon true ise uygulamanızın simgesi kullanılır.

...

notificationLargeIconDarkMode

...

Cihaz koyu temadayken görünecek notificationLargeIcon değerini girmek içindir.

Eğer değer girilmezse ve isNotificationLargeIcon true ise uygulamanızın simgesi kullanılır.

...

notificationPushIntent

...

Bildirime tıklandığında açılacak Activity'e karar vermek içindir. Burda Activity'nin tam yolunun girilmesi gerekmektedir.

Eğer değer girilmezse uygulamanızın başlatıcı aktivitesine (launcher activity) yönlenecektir.

...

notificationChannelName

...

Bildirim kanalına verilecek ismi girmek içindir.

Eğer değer girilmezse uygulamanızın ismi kullanılır.

...

notificationColor

...

Bildirim alanında kullanılacak accent color değerini girmek içindir.

Tüm parametreleri içeren örnek bir kullanım aşağıdaki gibidir.

Code Block
languagekotlin
RelatedDigital.setIsPushNotificationEnabled(
  context = applicationContext,
  isPushNotificationEnabled = true,
  googleAppAlias = Constants.GOOGLE_APP_ALIAS,
  huaweiAppAlias = Constants.HUAWEI_APP_ALIAS,
  token = token,
  notificationSmallIcon = R.drawable.text_icon,
  notificationSmallIconDarkMode = R.drawable.text_icon_dark_mode,
  isNotificationLargeIcon = true,
  notificationLargeIcon = R.mipmap.ic_launcher,
  notificationLargeIconDarkMode = R.mipmap.ic_launcher,
  notificationPushIntent = "com.relateddigital.androidexampleapp.PushNotificationActivity",
  notificationChannelName = "relateddigital-android-test",
  notificationColor = "#d1dbbd"
  )

...