Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 21 Current »

Bu sayfada bulabilecekleriniz:

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.

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() .

      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

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. 

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.

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.

4.6.3’den küçük sdk versiyonları için:

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!");
                    }
                }
            }
        }
    }
}

4.6.3 ve üstü sdk versiyonları için:

setPushIntent() metodu ile girilen class içinde (eğer bu metod kullanılmadıysa Launcher Activity içerisinde) onNewIntent metodu içinde aşağıdaki gibi tıklanan itemla ilgili bilgiye ulaşabilir.

@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:

    {
    “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.

    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.

Mesajlar tarihe göre sıralanmıştır. Son gelen mesaj listenin ilk başında gösterilir.

İki parametre almaktadır. Birincisi Activity, ikincisi PushMessageInterface

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().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.

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.

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, pushMessageInterface);
  • No labels