Push Notification Modülü
- 1 Bildirim Alanın Özelleştirilmesi
- 2 Push Bildirim İzni Alın (Android 13 veya daha yüksek)
- 3 Token-Üye Eşleşmesi
- 4 IYS E-Posta Kaydı
- 5 Okundu Raporu ve Yönlendirme
- 6 Bildirim Sesi Ayarlama
- 7 Ciroların Panele Yansıması
- 8 Push Bildirim Mesajlarını Kullanma
- 9 Bildirim Mesajı İçeriği
- 10 Uygulama Simge Bildirimleri
- 11 Ekstra Notlar
- 12 Örnek Uygulama
Bildirim Alanın Özelleştirilmesi
RelatedDigital.setIsPushNotificationsEnabled() metodu 5 zorunlu, 8 opsiyonel parametre 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 |
---|---|
| 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. |
| Cihaz koyu temadayken görünecek Eğer değer girilmezse uygulamanızın simgesi kullanılır. |
| 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) |
| 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 |
| Cihaz koyu temadayken görünecek Eğer değer girilmezse ve |
| 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. |
| Bildirim kanalına verilecek ismi girmek içindir. Eğer değer girilmezse uygulamanızın ismi kullanılır. |
| Bildirim alanında kullanılacak accent color değerini girmek içindir. |
| Bildirimin önem seviyesini ayarlamak içindir. (heads-up veya pop-up bildirimler için önem seviyesi HIGH olmalıdır) |
Tüm parametreleri içeren örnek bir kullanım aşağıdaki gibidir.
Kotlin
RelatedDigital.setIsPushNotificationEnabled(
context = context,
isPushNotificationEnabled = true,
googleAppAlias = "googleAppAliasDeğeri",
huaweiAppAlias = "huaweiAppAliasDeğeri",
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"
)
Java
RelatedDigital.setIsPushNotificationEnabled(
context,
true,
"googleAppAliasDeğeri",
"huaweiAppAliasDeğeri",
token,
R.drawable.text_icon,
R.drawable.text_icon_dark_mode,
true,
R.mipmap.ic_launcher,
R.mipmap.ic_launcher,
"com.relateddigital.androidexampleapp.PushNotificationActivity",
"relateddigital-android-test",
"#d1dbbd"
);
Push Bildirim İzni Alın (Android 13 veya daha yüksek)
SDK versiyonlarınızı doğrulayın. Compile ve target SDK versiyonu en az 33 olmalıdır.
android {
compileSdkVersion "33"
defaultConfig {
targetSdkVersion "33"
}
}
Aşağıdaki Euromessage metodunu kullanarak, push notification izni isteme prompt’unu tetikleyin.
Kotlin
Java
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.
Kotlin
Java
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.
Kullanıcı-token eşleşmesi için gönderilen payload da extra parametresi bu şekilde parametreler alacaktır;
IYS E-Posta Kaydı
Kotlin
Java
Eğer kullanıcınız kurumsal bir hesap ise registerEmail() metodundaki isCommercial parametresini true olarak göndermeniz gerekmektedir.
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.
Kotlin
Java
Eğer RMC’den kampanya gönderimlerinizde push bildirimi cihazınıza debug modda ulaşıyor, release modda ulaşmıyorsa, uygulamanızda pro-guard ile ilgili sorunlarınıza göz atın.
proguard-rules.pro 'ya aşağıdaki kodları ekleyebilirsiniz;
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.
Ses dosyasının eklenmesi gereken yol -> res/raw/my_custom_sound.mp3
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:
Mobil bildirim kampanyası ekranında bulunan Özel Parametreler alanına utm parametrelerini girmelisiniz.
Örn: utm_medium=apppush;utm_source=related;utm_campaign=campaign_name
Push Bildirim Mesajlarını Kullanma
Son 30 gün içerisinde gönderilmiş anonim bildirim mesajlarına aşağıdaki gibi erişebilirsiniz.
Mesajlar tarihe göre sıralanmıştır. Son gelen mesaj listenin ilk başında gösterilir.
Kotlin
Java
Eğer bildirimleri kullanıcı bazlı depolamak ve almak istiyorsanız, kullanıcınız login olduktan sonra aşağıdaki method aracılığıyla kullanıcı ID sini (email, telefon no, vb.) SDK ya iletmeniz gerekmektedir.
Kotlin
Java
Kullanıcı ID yukarıdaki gibi set edildikten sonra gelen bildirimler o an login durumda olan kullanıcının ID si ile beraber kaydedilir. Uygulamanızda login durumdaki kullanıcıya gelen son 30 gün içindeki bildirimleri aşağıdaki getPushMessagesWithID()
methodu aracılığıyla elde edebilirsiniz.
Kotlin
Java
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 |
Uygulama Simge Bildirimleri
Uygulamanıza Related Digital üzerinden gelen bildirimlerin sayısı, eğer kullanıcı uygulama simge bildirimlerini sayı ile göstermeyi tercih etmişse uygulama ikonu üzerinde gösterilir. Bu sayıyı uygulama açıldığında sıfırlamak için ilgili yerlerden aşağıdaki gibi clearBadgeCount() methodu çağırılmalıdır.
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.
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.
Örnek Uygulama
Copyright 2020 Related Digital