Bu sayfada:
Table of Contents |
---|
...
Adım 1 - Gerekenler
Android mobil uygulama & Android Studio |
Firebase Cloud Messaging ve Huawei Push Kit - google_services.json & agconnect_services.json |
RMC Hesabı - AppAlias |
Minimum 21 API Level Test Cihazı |
Adım 2 - Bağımlılıkları Eklemek
2.1 app/build.gradle (Module: app) açıp aşağıdaki kod blogunu ekleyiniz.
|
2.2 project / build.gradle'i açıp aşağıdaki kod blogunu ekleyiniz.
|
Adım 3 - Android Manifest'e Kodları Eklemek
|
|
Bu tanımlamalar sayesinde gelen FCM ve HMS'den gelen push bildirimleri Euromessage tarafından karşılanacaktır. Uygulamanızın Application Class - eğer yoksa - tanımlamanız gerekebilir. Burada yapmanız gereken yeni bir class oluşturup Application Class’tan extend etmek ve AndroidManifest dosyasında bunu tanımlamak olacaktır;
|
Eğer WRITE_EXTERNAL_STORAGE ve READ_EXTERNAL_STORAGE izinlerini uygulamanızda kullanıyorsanız aşağıdaki satırı AndroidManifest.xml dosyanıza <application tag ı içerisine eklemeniz gerekmektedir.
Code Block | ||
---|---|---|
| ||
android:requestLegacyExternalStorage="true" |
...
Adım Adım 4 - Gerekli Kodları Eklemek
Bildirim İzni İsteme
Uygulama ilk açıldığında kullanıcıdan izin istemek için aşağıdaki kodu kullanabilirsiniz.
Code Block | ||
---|---|---|
| ||
EuroMobileManager.getInstance().requestNotificationPermission(activity); |
Aşağıda örnek bir implementasyon görülmektedir; Bunun için FIREBASE_APP_ALIAS ve HUAWEI_APP_ALIAS'ı RMC panel üzerinden tanımlamanız gerekmektedir.
|
4.1 Firebase Messaging Servis'te Token Toplama
EuroFirebaseMessagingService onNewToken() methodu içerisinde ilk kez açılan bir uygulama için token'i alır ve subscribe eder.
Daha önceden sahip olduğunuz token'ları EuroMobileManager'a setlemek için aşağıdaki kodları eklemeniz gerekmektedir
|
4.2 Huawei Messaging Servis'te Token Toplama
Huawei'de telefonun EMUI sürümüne göre token toplama yöntemi de değişmektedir.
EMUI 10'dan düşük sürümler EuroHuaweiMessagingService içindeki onNewToken()’da tokenları subscribe ederken,
EMUI 10 üzerinde telefonlar aşağıdaki gibi tokenları generate eder. Generate edilmiş bu token'i euroMobileManager'a subscribe etmeniz gerekmektedir.
Code Block |
---|
private void setHuaweiTokenToEuromessage() { new Thread() { @Override public void run() { try { String appId = new AGConnectOptionsBuilder().build(getApplicationContext()).getString("client/app_id"); final String token = HmsInstanceId.getInstance(getApplicationContext()).getToken(appId, "HCM"); if(TextUtils.isEmpty(token) || token == null) { Log.e("Huawei Token : ", "Empty token!!!"); return; } euroMobileManager.subscribe(token, getApplicationContext()); Log.i("Huawei Token", "" + token); } catch (ApiException e) { Log.e("Huawei Token", "Getting the token failed! " + e); } } }.start(); } |
veya
|
4.3 İki servisin aktif olduğu cihazlarda tokeni iki kere yollamamak için
|
Kodların son hali ;
|
4.4 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.
Code Block | ||
---|---|---|
| ||
android {
compileSdkVersion "33"
defaultConfig {
targetSdkVersion "33"
}
} |
Aşağıdaki Euromessage metodunu kullanarak, push notification izni isteme prompt’unu tetikleyin.
Code Block | ||
---|---|---|
| ||
EuroMobileManager.getInstance().requestNotificationPermission(activity); |
Adım 5 - Token Kullanıcı Ü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 activity'de eklenebilir. Aşağıdaki kod bloğu sayesinde aynı bilgilere ait kullanıcı Euromessage 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.
|
Bir uygulama mobil cihaza kurulduğu anda push subscription servisi ile bu 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 mutlaka cihazda 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.
User-token eşleşmesi için gönderilen payload ta extra parametresi bu şekilde parametreler alacaktır;
|
Adım 6 - IYS E-Posta Kaydı
...
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.
...