Versions Compared

Key

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

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Bu sayfada bulabilecekleriniz:

Table of Contents

Genel Parametreler

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.

Code Block
languagejava
EuroMobileManager.getInstance().setPushPermit(PushPermit.ACTIVE, getApplicationContext());

"extra" : {"email" : "umutcan.alparslan@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() .

Code Block
languagejava
      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

Euromsg 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 ekranındaki küçük icon'un ayarlanması içindir. (Drawable klasöründen)

setNotificationTransparentSmallIconDarkMode(int transparentSmallIcon, Context context)

Cihaz koyu temadayken bildirim ekranındaki küçük icon'un ayarlanması içindir. (Drawable klasöründen)

useNotificationLargeIcon(boolean willBeUsed)

Bildirim ekranında büyük icon’un kullanılıp kullanılmayacağına karar vermek içindir.(Default True)

setNotificationLargeIcon(int largeIcon, Context context)

Bildirim ekranındaki büyük icon'un ayarlanması içindir. (Drawable klasöründen)

setNotificationLargeIconDarkMode(int largeIconDarkMode, Context context)

Cihaz koyu temadayken bildirim ekranındaki büyük icon'un ayarlanması içindir. (Drawable klasöründen)

setPushIntent(String intentStr, Context context)

Bildirime tıklanınca açılacak activity’i setler. Activity paket yolu setlenir. Opsiyoneldir

setNotificationPriority(RDNotificationPriority priority, Context context)

Bildirimin önem seviyesini ayarlamak içindir. Heads-up bildirimler için önem seviyesi HIGH olmalıdır.

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


Örnek Konfigürasyon

Code Block
languagejava
euroMobileManager = EuroMobileManager.init(Constants.GOOGLE_APP_ALIAS, Constants.HUAWEI_APP_ALIAS, getApplicationContext());

//optional
euroMobileManager.setNotificationTransparentSmallIcon(android.R.drawable.star_off, getApplicationContext());
euroMobileManager.setNotificationTransparentSmallIconDarkMode(R.drawable.delete_icon_dark_mode, getApplicationContext());
euroMobileManager.useNotificationLargeIcon(true);
euroMobileManager.setNotificationLargeIcon(R.drawable.euromessage, getApplicationContext());
euroMobileManager.setNotificationLargeIconDarkMode(R.drawable.related_digital_dark_mode, getApplicationContext());
euroMobileManager.setNotificationColor("#d1dbbd");
euroMobileManager.setChannelName("Demo", getApplicationContext());
euroMobileManager.setPushIntent("com.relateddigital.euromessage.MainActivity", getApplicationContext());

İsteğe Bağlı Parametler

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. 

...

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.

...

Carousel Pushta kullanıcının hangi ögeye tıkladığını öğrenme

Android 8 ile beraber gelen arkaplan işlemleriyle ilgili sınırlamadan kaynaklı AndroidManifest.xml dosyasına BroadcastReceiver tanımlayarak tıklanan Carousel itemıyla ilgili bilgiye ulaşmak mümkün olmadığı için 4.6.3 versiyonuyla beraber yapıda değişiklik olmuştur.

...

Code Block
languagejava
@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    if(intent != null) {
        Bundle bundle = intent.getExtras();
        if (bundle != null) {
            Message message = (Message) intent.getExtras().getSerializable("message");
            if(message != null) {
                handlePush(message, intent);
            } else {
                // Carousel push notification : an item was clicked
                String itemClickedUrl = bundle.getString("CarouselItemClickedUrl");
                if(itemClickedUrl != null && !itemClickedUrl.equals("")) {
                    try {
                        Intent viewIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(itemClickedUrl));
                        viewIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        startActivity(viewIntent);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
}


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.

  1. 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.

  2. Push bildirimi tıklandıktan sonra size aşağıdaki gibi bir data dönecektir.

    Örnek Data:

    Code Block
    {
    “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”, 
    }
    }
  3. 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.

    Code Block
    languagejava
    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);

Push Bildirim Mesajlarını Kullanma

Son 30 gün içerisinde gönderilmiş anonim push bildirim mesajlarına aşağıdaki gibi erişebilirsiniz.

...

Code Block
languagejava
PushMessageInterface pushMessageInterface = new PushMessageInterface() {
    @Override
    public void success(List<Message> pushMessages) {
        // Make your implementation by using pushMessages here:
    }    //Examples
 @Override      public voidfor fail(String errorMessageMessage pushMessage : pushMessages) {
        //  Something went wrong. You may consider warning the user:Log.d("pushMessage pushID", pushMessage.getPushId().toString());
            }
};
EuroMobileManager.getInstanceLog.d("pushMessage status", pushMessage.getStatus().getPushMessages(your_activity, pushMessageInterface);

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.

Code Block
languagejava
euroMobileManager.setNotificationLoginID("kullanıcı_id", context);

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.

Code Block
languagejava
PushMessageInterface pushMessageInterface = new PushMessageInterface() {
    @Override
    public void success(List<Message> pushMessages) {
        // Make your implementation by using pushMessages here:
    }

    @Override
    public void fail(String errorMessage) {
        // Something went wrong. You may consider warning the user:
    }
};
EuroMobileManager.getInstance().getPushMessagesWithID(your_activity, pushMessageInterfacetoString());
        }
    }

    @Override
    public void fail(String errorMessage) {
        // Something went wrong. You may consider warning the user:
    }
};
EuroMobileManager.getInstance().getPushMessages(your_activity, pushMessageInterface);

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.

Code Block
languagejava
euroMobileManager.setNotificationLoginID("kullanıcı_id", context);

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.

Code Block
languagejava
PushMessageInterface pushMessageInterface = new PushMessageInterface() {
    @Override
    public void success(List<Message> pushMessages) {
        // Make your implementation by using pushMessages here:
        //Examples
        for (Message pushMessage : pushMessages) {
            Log.d("pushMessage pushID", pushMessage.getPushId().toString());
            Log.d("pushMessage status", pushMessage.getStatus().toString());
        }
    }

    @Override
    public void fail(String errorMessage) {
        // Something went wrong. You may consider warning the user:
    }
};
EuroMobileManager.getInstance().getPushMessagesWithID(your_activity, pushMessageInterface);

Push Mesaj Bildirimlerini Okundu Olarak İşaretleme

Tüm bildirimleri okundu olarak işaretlemek için aşağıdaki kodu kullanabilirsiniz.

Code Block
languagejava
EuroMobileManager.readAllPushMessages(getApplicationContext());

Eğer bildirim bazlı okundu olarak işaretlemek isterseniz aşağıdaki kodu kullanabilirsiniz.

Code Block
languagejava
EuroMobileManager.readPushMessagesWithPushId(getApplicationContext(), "1234567890");

Push Mesaj Bildirimlerini Silme

Tüm bildirimleri silmek isterseniz aşağıdaki kodu kullanabilirisniz.

Code Block
languagejava
EuroMobileManager.getInstance().deleteAllPushMessagesFromLSPM();

Eğer bildirim bazlı silmek isterseniz aşağıdaki kodu kullanabilirsiniz.

Code Block
languagejava
EuroMobileManager.getInstance().deletePushMessageByIdFromLSPM("1234567890");