Table of Contents |
---|
Bildirim Alanın Özelleştirilmesi
RelatedDigital.setIsPushNotificationsEnabled() metodu 5 zorunlu, 8 opsiyonel parametre almaktadır.
...
Code Block | ||
---|---|---|
| ||
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" ) |
Token-Üye Eşleşmesi
Kullanıcıya ait çeşitli parametreler biliniyorsa kayıt aşamasında ya da sonrasında aşağıdaki gibi sunucularımıza gönderilebilir. Aşağıdaki kod bloğu sayesinde aynı bilgilere ait kullanıcı RMC panelinde varsa, alınan token kullanıcı ile eşleştirilecektir.
Bu method sayesinde subscribe işlemi için sunucuya gönderilen json objesinde extra parametresine değerler eklenmiş olur ve kullanıcının hangi token ile eşleştirileceği belirtilmiş olur. Zorunlu parametreler ve opsiyonel parametreler gönderildikten sonra sync() metodu çağrılmalıdır.
|
RelatedDigital.setIsPushNotification() metodu aracılığıyla Push Notification Modülü etkinleştirildiğinde, cihaza ait token bilgisi RMC veri tabanına yazılır. Bir token; kullanıcı uygulamada oturum açana kadar “anonim” yani hiç bir kullanıcı ile eşleştirilmeden kaydedilir. Bu token ın bir kullanıcıyla eşleştirilebilmesi için uygulamada oturum açılmış olması ve SDK tarafından bu token ın sahibini tanımlayıcı bir bilginin (KEY_ID yada EMAIL) RMC'ye gönderilmesi gerekir. Bu bilgiler push mesajı payload unda "extra" : {} bloğunda yer alır.
Mobil kanaldan gelen datalarınızın RMC'ye yüklenebilmesi için, aktif RMC hesabınızda kullanmış olduğunuz referans değeriniz ne ise (KEY_ID* veya E-Mail) mobil kanaldan gelen dataların da bu referans ile gelmesine dikkat ediniz."
*KEY_ID: Uygulama sahibi tarafından müşterisinin tekilleştirilmesi için kullanılan id değerleridir. Bunlar CRM id, userId, customerId, accountId gibi farklı isimlerle ifade ediliyor olabilir.
...
|
IYS E-Posta Kaydı
Code Block | ||
---|---|---|
| ||
val callback: EuromessageCallback = object : EuromessageCallback { override fun success() { Log.i("IYS Kaydı", "Başarılı") } override fun fail(errorMessage: String?) { Log.e("IYS Kaydı", "Başarısız : $errorMessage") } } RelatedDigital.registerEmail( context = context, email = "test@euromsg.com", emailPermit = EmailPermit.ACTIVE, isCommercial = false, callback = callback ) |
...
Info |
---|
Eğer RMC panel üzerinde bir kullanıcı eşleştirmesi görmüyorsanız, RMC support ekibinden ilgili appKey’in FLAG’ini aktif hale getirmesini talep ediniz. |
Okundu Raporu ve Yönlendirme
Kullanıcı bildirime tıkladığında RelatedDigital.setPushIntent() metodu aracılığıyla girdiğiniz Activity açılacaktır. Eğer bu metodu kullanmadıysanız launcher activity açılacaktır. Bu Activity de onNewIntent() metodu içerisinde bildirim içeriği elde edilip kullanıcıyı ilgili sayfaya yönlendirme ve bildirimle ilgili okundu raporu gönderilme işlemlerinin yapılması gerekmektedir.
...
Code Block |
---|
-keep class com.relateddigital.**{*;} |
Bildirim Sesi Ayarlama
Bildirim kampanyalarında kullanılacak sesi belirlemek/değiştirmek için öncelikle kullanılacak ses dosyalarının projenize eklenmesi gerekmektedir.
...
Bu adımdan sonra ses dosyasının ismini uzantısız olarak RMC panelinde Ayarlar / Kampanya Ayarları / Push Uygulamaları / Android Uygulamanız / Özel Ses Dosyası kısmına eklemeniz gerekmektedir.
...
Ciroların Panele Yansıması
Gelen bildirimlere tıklandıktan sonra yapılan satın alımların RMC panelinde Ciro alanına yansıması için:
...
Info |
---|
utm_campaign her seferinde farklı olması gerektiği için oluşturduğunuz push kampanyasının ID’sini değişken olarak kullanabilirsiniz. Bunun için <##CAMP_ID##> değişkenini isteğe bağlı bir şekilde kullanabilirsiniz. |
Geçmiş Bildirim Mesajları
Son 30 gün içerisinde gönderilmiş bildirim mesajlarına aşağıdaki gibi erişebilirsiniz.
...
Code Block | ||
---|---|---|
| ||
val pushMessageInterface: PushMessageInterface = object : PushMessageInterface { override fun success(pushMessages: List<Message>) { // pushMessages değişkenini kullanarak geliştirmenizi yapabilirsiniz } override fun fail(errorMessage: String) { Log.e("Geçmiş Bildirimler", errorMessage) } } RelatedDigital.getPushMessages(activity, pushMessageInterface) |
Bildirim Mesajı İçeriği
Veri Tipi | Değişken | Açıklama |
---|---|---|
String | mediaUrl | Foto, video url |
String | altUrl | Alternate URL |
String | campaignId | Kampanya ID si |
String | pushId | Bildirim ID si |
String | url | Kampanya URL si |
String | message | Bildirim Mesajı |
String | title | Bildirim Başlığı |
String | sound | Bildirim Sesi |
PushType | pushType | Bildirim Tipi |
Map<String, String> | params | Özel Parametreler |
Ekstra Notlar
EXTERNAL_STORAGE İzinleri
Eğer uygulamanızda WRITE_EXTERNAL_STORAGE ve READ_EXTERNAL_STORAGE izinlerini kullanıyorsanız aşağıdaki satırı AndroidManifest.xml dosyanıza <application tag ı içerisine eklemeniz gerekmektedir.
Code Block |
---|
android:requestLegacyExternalStorage="true" |
...
PUSH_SUBSCRIPTION_PERMISSION_ENABLED
Push uygulamasında login olan üyelerin direkt olarak Euromessage üye paneline aktarılması isteniyorsa; RMC Support ekibinden PUSH_SUBSCRIPTION_PERMISSION_ENABLED flag inin açılması talep edilmelidir.