Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel7

Modülün Etkinleştirilmesi

Burada açıklandığı gibi etkinleştirilmelidir.

Veri Gönderimi

RelatedDigital SDK’sı uygulamanızdan kullanıcının hareketlerine göre veri toplamaya olanak sağlamaktadır.

Aşağıda bu amaç için tasarlanmış metotları ve detaylarını bulabilirsiniz.

Info

Mobil kanaldan gelen verilerinizin 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 verilerin de 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.

exVisitorId yapınıza göre keyID veya E-Posta olabilir.

Kaydolma

Code Block
languagekotlin
RelatedDigital.signUp(
  context = context,
  exVisitorId = "exVisitorIdDeğeri"
  )
Info

exVisitorId parametresi ile RMC panelinde kullanıcıyı tekilleştirmek için kullandığınız özellik gönderilmelidir. Örneğin, email

Bu metod aracılığıyla ek bilgiler göndermek de mümkündür. Aşağıdaki örnek, OM.sys.TokenID ve OM.sys.AppID parametrelerini içeren özelliklerle signUp metodunun çağırılmasını gösterir. OM.sys.TokenID ve OM.sys.AppID push bildirimleri göndermek için gereklidir ve OM.sys.AppID parametresi RMC web panelinden alınabilir.

Code Block
languagekotlin
val parameters = HashMap<String, String>()
parameters["OM.sys.TokenID"] = "tokenDeğeri"
parameters["OM.sys.AppID"] = "appAliasDeğeri"
RelatedDigital.signUp(
  context = context,
  exVisitorId = "exVisitorIdDeğeri",
  properties = parameters
  )

Oturum Açma

Kaydolma metodu gibi oturum açma metodu da isteğe bağlı parametre özellikleriyle veya bunlar olmadan çağrılabilir.

Code Block
languagekotlin
RelatedDigital.login(
  context = context,
  exVisitorId = "exVisitorIdDeğeri"
  )
Info

exVisitorId parametresi ile RMC panelinde kullanıcıyı tekilleştirmek için kullandığınız özellik gönderilmelidir. Örneğin, email

Code Block
languagekotlin
val parameters = HashMap<String, String>()
parameters["OM.sys.TokenID"] = "tokenDeğeri"
parameters["OM.sys.AppID"] = "appAliasDeğeri"
RelatedDigital.login(
  context = context,
  exVisitorId = "exVisitorIdDeğeri",
  properties = parameters
  )

Ayrıca, kullanıcıyı segmentlemenizi sağlayacak parametreleri de ekleyebilirsiniz.

Code Block
languagekotlin
val parameters = HashMap<String, String>()
parameters["OM.sys.TokenID"] = "tokenDeğeri"
parameters["OM.sys.AppID"] = "appAliasDeğeri"
parameters["OM.vseg1"] = "seg1Değeri"
parameters["OM.vseg2"] = "seg2Değeri"
parameters["OM.vseg3"] = "seg3Değeri"
parameters["OM.vseg4"] = "seg4Değeri"
parameters["OM.vseg5"] = "seg5Değeri"
parameters["OM.bd"] = "1995-09-02"
parameters["OM.gn"] = "m"
parameters["OM.loc"] = "istanbul"
RelatedDigital.login(
  context = context,
  exVisitorId = "exVisitorIdDeğeri",
  properties = parameters
  )

Sayfa Görüntüleme

Kullanıcının o anda görüntülemekte olduğu sayfa adını göndermek için aşağıdaki customEvent metodunu kullanabilirsiniz. properties’e fazladan parametreler ekleyebilir veya boş bırakabilirsiniz.

Code Block
languagekotlin
val parameters = HashMap<String, String>()
RelatedDigital.customEvent(
  context = context,
  pageName = "Sıkça Sorulan Sorular",
  properties = parameters
  )

Ürün Görüntüleme

Kullanıcının uygulamanızda bir ürün görüntülediği bilgisini göndermek için aşağıdaki customEvent metodunu kullanabilirsiniz.

Code Block
languagekotlin
val parameters = HashMap<String, String>()
parameters["OM.pv"] = "Product Code" //Ürün Kodu
parameters["OM.pn"] = "Product Name" //Ürün İsmi
parameters["OM.ppr"] = "Product Price" //Ürün Fiyatı
parameters["OM.pv.1"] = "Product Brand" //Ürün markası
parameters["OM.inv"] = "Number of items in stock" //Stokta kaç tane kaldığı
RelatedDigital.customEvent(
  context = context,
  pageName = "Product View",
  properties = parameters
  )

Sepete Ekleme

Kullanıcının sepete ürün eklemesi veya çıkarması bilgisini göndermek için aşağıdaki customEvent metodunu kullanabilirsiniz.

Info

Sepette bulunan son üründe kullanıcı tarafından silindiğinde OM.pb, OM.pu ve OM.ppr parametrelerini boş string olarak göndermelisiniz. Örnek,

parameters["OM.pb"] = ""

Code Block
languagekotlin
val parameters = HashMap<String, String>()
parameters["OM.pbid"] = "Basket ID" //Sepet ID si
parameters["OM.pb"] = "Product1Code;Product2Code" //Ürün1Kodu;Ürün2Kodu
parameters["OM.pu"] = "Product1Quantity;Product2Quantity" //Ürün1Miktarı;Ürün2Miktarı
parameters["OM.ppr"] = "Product1Price*Product1Quantity;Product2Price*Product2Quantity" //Ürün1Fiyatı*Ürün1Miktarı;Ürün2Fiyatı*Ürün2Miktarı
RelatedDigital.customEvent(
  context = context,
  pageName = "Cart",
  properties = parameters
  )

Satın Alma

Kullanıcı bir veya daha fazla öğe satın aldığında aşağıdaki customEvent uygulamasını kullanın.

Code Block
HashMap<String, String> parameters= new HashMap<String, String>();
parameters.put("OM.tid","Transaction ID");
parameters.put("OM.pp","Product1 Code;Product2 Code");
parameters.put("OM.pu","Product1 Quantity;Product2 Quantity");
parameters.put("OM.ppr","Product1 Price*Product1 Quantity;Product2 Price*Product2 Quantity");

Visilabs.CallAPI().customEvent("Product Purchase", parameters, getActivity());

Kategori Görüntüleme

Kullanıcı bir kategori listesi sayfasını görüntülediğinde, aşağıdaki customEvent uygulamasını kullanın.

Code Block
HashMap<String, String> parameters= new HashMap<String, String>();
parameters.put("OM.clist","Category Code/Category ID");

Visilabs.CallAPI().customEvent("Category View", parameters, getActivity());

Arama

Mobil uygulamanın bir arama işlevi varsa, aşağıdaki customEvent uygulamasını kullanın.

Code Block
HashMap<String, String> parameters= new HashMap<String, String>();
parameters.put("OM.OSS","Search Keyword");
parameters.put("OM.OSSR","Number of search results");

Visilabs.CallAPI().customEvent("In App Search", parameters, getActivity());

Banner Tıklaması

Aşağıdaki customEvent uygulamasını kullanarak banner tıklama verilerini izleyebilirsiniz.

Code Block
HashMap<String, String> parameters= new HashMap<String, String>();
parameters.put("OM.OSB","Banner Name/Banner Code");

Visilabs.CallAPI().customEvent("Banner Click", parameters, getActivity());

Favorilere Ekleme

Kullanıcı favorilerine bir ürün eklediğinde, aşağıdaki customEvent uygulamasını kullanın.

Code Block
HashMap<String, String> parameters= new HashMap<String, String>();
parameters.put("OM.pf","Product Code");
parameters.put("OM.pfu","1"); 
parameters.put("OM.pfr","Product Price");

Visilabs.CallAPI().customEvent("/om_evt.gif", parameters, getActivity());

Favorilerden Çıkarma

Kullanıcı favorilerinden bir ürün çıkardığında, aşağıdaki customEvent uygulamasını kullanın.

Code Block
HashMap<String, String> parameters= new HashMap<String, String>();
parameters.put("OM.pf","Product Code");
parameters.put("OM.pfu","-1"); 
parameters.put("OM.pfr","Product Price");

Visilabs.CallAPI().customEvent("/om_evt.gif", parameters, getActivity());

Kampanya Parametresi Yollama

Bir push mesajına tıklayarak uygulamayı başlattıktan sonra, aşağıdaki customEvent uygulamasını kullanın.

Code Block
HashMap<String, String> properties = new HashMap<>();
properties.put("utm_campaign","euromsg campaign");
properties.put("utm_source","euromsg");
properties.put("utm_medium","push");
Visilabs.CallAPI().sendCampaignParameters(properties, getActivity());

App Tracker

App tracker özelliğini kullanmak için uygulamanızın herhangi bir yerinden ve herhangi bir zaman aralığıyla (örneğin launcher activity içerisinden haftada bir) aşağıdaki metotu çağırmanız yeterlidir.

Code Block
Visilabs.CallAPI().sendTheListOfAppsInstalled();

NOT: Visilabs.CallAPI() dan bir Visilabs Instance'ı elde edebilmek için öncesinde Visilabs.CreateAPI() metoduyla Visilabs Instance'ının yaratılmış olması gerekir. Yukardaki metotu çağırırken buna dikkat ediniz.

Android, cihazda yüklü uygulamaların listesine erişmek için 2 seçenek sunmaktadır:

1-) Yüklü olup olmadığı bilgisi alınmak istenilen uygulamalar paket isimleriyle aşağıdaki gibi
AndroidManifest.xml dosyasına girilebilir.

Code Block
<manifest package="com.example.myApp">
    <queries>
        <package android:name="com.example.app1" />
        <package android:name="com.example.app2" />
    </queries>
    ...
</manifest>

2-) Tüm yüklü  uygulamaların listesini alabilmek için aşağıdaki izin AndroidManifest.xml
dosyasına girilmek zorunda.

Code Block
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" 
tools:ignore="QueryAllPackagesPermission" />
  1. yöntemde Google Play Store için bu izne neden ihtiyaç duyulduğunun açıklanması beklenebilir.

https://developer.android.com/training/basics/intents/package-visibility

  1. yöntem herhangi bir izin gerektirmez. Bu yukarda belirtilen 2 yöntemden birisi uygulandıktan sonra Visilabs.CallAPI().sendTheListOfAppsInstalled() metotunun çağırılması yeterlidir

Lokasyon Durum Bilgisini Yollama

Kullanıcılarınızın lokasyon izin durumlarını aşağıdaki gibi sunucuya gönderebilir ve bu bilgiyi daha sonra panelde kullanabilirsiniz.

Code Block
Visilabs.CallAPI().sendLocationPermission();

Bu bilgi OM.locpermit parametresiyle beraber gönderilir ve aşağıdaki 3 değerden birini alabilir:

"always" : Lokasyon izni uygulama açıkken ve kapalıyken edinilmiş durumda.

"appopen" : Lokasyon izni yalnızca uygulama açıkken edinilmiş durumda.

"none" : Lokasyon izni edinilmemiş durumda.

Push Mesajı Token Kaydetme

Visilabs'ın kullanıcılara push mesajları göndermek için token alması gerekiyor. Firebase/Huawei tarafından oluşturulan belirteç değeri, OM.sys.TokenID anahtarının değeri olacaktır. OM.sys.AppID'nin değeri RMC yönetim paneli tarafından elde edilebilir. https://intelligence.relateddigital.com/a02/index#/Push/AppList bağlantısını takip edin ve ilgili push uygulamasını seçin. Uygulama App Alias değeri OM.sys.AppID'ye denk gelir. Sorun yaşarsanız lütfen RMC destek ekibiyle iletişime geçin.

Aşağıdaki parametreleri yukarıda verilen eventlerin içinde gönderebilirsiniz. Birer örnekleri Oturum Açma ve Kaydolma adımlarında gösterilmiştir.

Code Block
parameters.put("OM.sys.TokenID", token);
parameters.put("OM.sys.AppID", AppAlias); //RMC Panelden Alınacak

...

Örnek Uygulama

RelatedDigital Demo Uygulaması