Versions Compared

Key

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

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" : "
melike
umutcan.
yildirim@euromsg
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

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. 

...

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

AndroidManifest.xml dosyasına aşağıdaki gibi receiver eklemelisiniz.

...

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.

Code Block
languagejava
<receiver
    android:name="your_broadcast_receiver_here"
    android:exported="false" >
    <intent-filter>
        <action android:name="CarouselItemClickIntentFilter" />
    </intent-filter>
</receiver>

...

Code Block
languagejava
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 itemClicked = (CarouselItem) bundle.getParcelable(CAROUSAL_ITEM_CLICKED_KEY);) 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.

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(CAROUSEL_ITEM_CLICKED_URL"CarouselItemClickedUrl");
                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) {
                        Loge.e(LOG_TAG, "The link is not formatted properly!"printStackTrace();
                    }
                }
            }
        }
    }
}

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

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

...