1. Push uygulamasında login olunan üyelerin direkt olarak Euromessage üye paneline aktarılması
Extra bloğuna bazı özel parametreler yollanarak üye kaydı yapılabilir. İlgili EMAIL hesapta kayıtlı değilse yine extra bloğunda gönderilen kanal izinlerine göre hesaba kayıt edilecektir. Push uygulamasında login olunan üyelerin direkt olarak Euromessage üye paneline aktarılması isteniyorsa; RMC Support ekibinden PUSH_SUBSCRIPTION_PERMISSION_ENABLED flag inin açılması talep edilmelidir.
EuroMobileManager.getInstance().setPushPermit(PushPermit.ACTIVE, getApplicationContext()); "extra" : {"email" : "melike.yildirim@euromsg.com", "keyID" : "677196", "emailPermit" : "Y"} |
2. Android Custom Parametreler ve Hedef URL
RMC arayüzünde tanımladığınız değişkenlere intent.getExtra() içinden erişebilirsiniz. Activity'e gelen push bildiriminin içindeki parametreleri, onResume() ve onNewIntent() .
if (intent.getExtras() != null) { if (EuroMobileManager.getInstance().getNotification(intent) != null) { Log.d("Euromessage", EuroMobileManager.getInstance().getNotification(intent).getUrl()); } if (EuroMobileManager.getInstance().getCarousels(intent) != null) { Log.d("Euromessage Carousel", EuroMobileManager.getInstance().getCarousels(intent).get(FIRST_ITEM_CAROUSEL).getUrl()); } |
Veri Tipi | Değişken | Açıklama |
---|---|---|
String | mediaUrl | URL for images and video |
String | altUrl | Alternate URL |
String | campaignId | Campaign ID |
String | url | Campaign URL |
String | message | Message |
String | sound | Sound file |
PushType | pushType | Push Type |
Map<String, String> | params | Custom parameters |
3. Android Custom Sound Kullanımı (Özel bir bildirim sesi kullanmak)
Android custom sound eklemek için geliştiricinin app seviyesinde raw dosyasına ilgili özel müziği eklenmesi gerekiyor.
Takip edilecek yol -> : "res/raw/my_custom_sound.mp3"
Bu adımdan sonra bu müziğin dosya ismini uzantısız olarak RMC panelinde Ayarlar / Kampanya Ayarları / Push Uygulamaları / Android Uygulamanız / Özel Ses Dosyası kısmına bu değeri eklemeniz gerekir.
4. Carousel Pushta kullanıcının hangi ögeye tıkladığını öğrenme
AndroidManifest.xml dosyasına aşağıdaki gibi receiver eklemelisiniz.
<receiver android:name="your_broadcast_receiver_here" android:exported="false" > <intent-filter> <action android:name="CarouselItemClickIntentFilter" /> </intent-filter> </receiver>
Ardından receiver'ın içinde tıklanan item'ın url'sini aşağıdaki şekilde yakalayabilirsiniz.
package com.relateddigital.euromessage; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.util.Log; import euromsg.com.euromobileandroid.model.CarouselItem; import static euromsg.com.euromobileandroid.Constants.CAROUSAL_ITEM_CLICKED_KEY; import static euromsg.com.euromobileandroid.Constants.CAROUSEL_ITEM_CLICKED_URL; public class CarouselItemClickReceiver extends BroadcastReceiver { private static final String LOG_TAG = "CarouselItemReceiver"; @Override public void onReceive(Context context, Intent intent) { if(intent != null) { Bundle bundle = intent.getExtras(); if(bundle != null) { CarouselItem itemClicked = (CarouselItem) bundle.getParcelable(CAROUSAL_ITEM_CLICKED_KEY); String itemClickedUrl = bundle.getString(CAROUSEL_ITEM_CLICKED_URL); if(itemClickedUrl != null && !itemClickedUrl.equals("")) { try { Intent viewIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(itemClickedUrl)); viewIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(viewIntent); } catch (Exception e) { Log.e(LOG_TAG, "The link is not formatted properly!"); } } } } } }
EUROMESSAGE SDK METHODLAR
1. Token Ekleme
Method | Açıklaması |
---|---|
subscibe(String token, Context context) | Token'ı Euromessage servislerine gönderir |
2.Kullanıcı Özelleştirme ile ilgili Methodlar
Method | Açıklaması |
---|---|
setEmail(String email, Context context) | E-mail’i anonim kullanıcıya atar |
setEuroUserId(String userKey, Context context) | Id’yi anonim kullanıcıya atar |
setFacebook(String facebookId, Context context) | Facebook id’yi kullanıcıya atar |
setTwitterId(String twitterId, Context context) | Twitter id'yi kullanıcıya atar |
setPhoneNumber(String msisdn, Context context) | Telefon numarasını kullanıcıya atar |
setLocation(double latitute, double longitude, Context context) | Lokasyon’u kullanıcıya atar |
setAppVersion(String appVersion) | App versiyonu kullanıcıya atar |
setUserProperty(String key, String value, Context context) | Özel parametreleri kullanıcıya atar (RMC ekibiyle iletişime geçiniz) |
*sync(Context context) | Kullanıcıya atılan bilgileri token ile eşleştirir. |
* Yukarıdaki tanımlamalardan herhangi birini yaptıktan sonra çağrılması zorunludur.
3. SDK Özelleştirme ile ilgili methodlar
Method | Açıklaması |
---|---|
reportRead(Bundle bundle) | Pending Intent’te tutulan push id’yi RMC’ye bildirim okundu raporu olarak iletir |
setChannelName(String channelName, Context context) | Uygulama detaylarındaki kanal ismini günceller |
setNotificationColor(String hexColor) | Bildirim tema rengini setler. (Hex Color) |
setNotificationTransparentSmallIcon(int transparentSmallIcon, Context context) | Bildirim ikonunu setler. (Drawable klasöründen) |
setPushIntent(String intentStr, Context context) | Bildirime tıklanınca açılacak activity’i setler. Activity paket yolu setlenir. Opsiyoneldir |
setPushPermit(PushPermit pushPermit, Context context) | RMC paneldeki push izinleri Aktif veya Pasif olarak setlenir |
setEmailPermit(EmailPermit emailPermit, Context context) | RMC paneldeki email izinleri Aktif veya Pasif olarak setlenir |
setGsmPermit(GsmPermit gsmPermit, Context context) | RMC paneldeki gsm izinleri Aktif veya Pasif olarak setlenir |
removePushIntent(Context context) | Bildirime tıklanınca açılacak activity’i kaldırır |
removeChannelName(Context context) | Uygulama detaylarındaki kanal ismini kaldırır |
removeIntentExtra(Context context) | Uygulama extralarını kaldırır |
removeNotificationColor(Context context) | Bildirim tema rengini kaldırır |
removeNotificationTransparentSmallIcon(Context context) | Bildirim ikonunu kaldırır |
removeUserProperties(Context context) | Extra parametrelerini kaldırır |
getCarousel(Intent intent) | Carousel için hedef url’i size verir |
getNotification(Intent intent) | Text ve Image için hedef url’i size verir |
Push Kampanyası Cirolarının Panele Yansıması
Gelen push bildirimine tıkladıktan sonra yapılan satın almanın RMC panelinde Ciro alanına yansıması için aşağıdaki metodu kullanmanız gerekmektedir.
Push ekranında bulunan Özel Parametreler alanına utm parametrelerini girmelisiniz.
Örn: utm_medium=apppush;utm_source=related;utm_campaign=campaign_name
Not: 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.Push bildirimi tıklandıktan sonra size aşağıdaki gibi bir data dönecektir.
Örnek Data:
{ “data”: { “pushType” : “Text”, “url” : “”, “mediaUrl” : “”, “pushId” : “df73706e-1138-40f2-b687-c10c43ee8138”, “altUrl”: “”, “sound”:“”, “message”:“Mesaj”, “title”:“Başlık”, “utm_medium”: “apppush”, “utm_campaign”: “campaign_name”, “utm_source”: “related”, } }
Bu datayı aynı deeplink kullanımında olduğu gibi handle ederek utm parametrelerini pusha tıklandığında Visilabs’e event olarak göndermelisiniz. Örnek Visilabs event kodlarını alt satırda bulabilirsiniz.
HashMap<String, String> parameters= new HashMap<String, String>(); parameters.put("utm_campaign ","campaign_name"); parameters.put("utm_source","related"); parameters.put("utm_medium","apppush"); parameters.put("OM.exVisitorID”, "KeyID veya E-posta"); //RMC sistemindeki referansınız parameters.put("OM.sys.TokenID","Kullanıcı Push Mesaj Tokenı"); parameters.put("OM.sys.AppID","AppAlias"); Visilabs.CallAPI().customEvent("Campaign", parameters);