/
Veri Gönderme

Veri Gönderme

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.

Veri Gönderimi için herhangi bir modülün etkinleştirilmesine gerek yoktur. SDK’nın init edilmesi yeterlidir.

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

Kotlin

RelatedDigital.signUp( context = context, exVisitorId = "exVisitorIdDeğeri" )

Java

RelatedDigital.signUp( context, "exVisitorIdDeğeri" );

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.

Kotlin

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 )

Java

HashMap<String, String> parameters = new HashMap<String, String>(); parameters.put("OM.sys.TokenID", "tokenDeğeri"); parameters.put("OM.sys.AppID", "appAliasDeğeri"); RelatedDigital.signUp( context, "exVisitorIdDeğeri", parameters );

Oturum Açma

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

Kotlin

RelatedDigital.login( context = context, exVisitorId = "exVisitorIdDeğeri" )

Java

RelatedDigital.login( context, "exVisitorIdDeğeri" );

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

Kotlin

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 )

Java

HashMap<String, String> parameters = new HashMap<String, String>(); parameters.put("OM.sys.TokenID", "tokenDeğeri"); parameters.put("OM.sys.AppID", "appAliasDeğeri"); RelatedDigital.login( context, "exVisitorIdDeğeri", parameters );

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

Kotlin

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 )

Java

HashMap<String, String> parameters = new HashMap<String, String>(); parameters.put("OM.sys.TokenID", "tokenDeğeri"); parameters.put("OM.sys.AppID", "appAliasDeğeri"); parameters.put("OM.vseg1", "seg1Değeri"); parameters.put("OM.vseg2", "seg2Değeri"); parameters.put("OM.vseg3", "seg3Değeri"); parameters.put("OM.vseg4", "seg4Değeri"); parameters.put("OM.vseg5", "seg5Değeri"); parameters.put("OM.bd", "1995-09-02"); parameters.put("OM.gn", "m"); parameters.put("OM.loc", "istanbul"); RelatedDigital.login( context, "exVisitorIdDeğeri", 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.

Kotlin

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

Java

HashMap<String, String> parameters = new HashMap<String, String>(); RelatedDigital.customEvent( context, "Sıkça Sorulan Sorular", 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.

Kotlin

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 )

Java

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

Sepete Ekleme

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

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"] = ""

parameters.put("OM.pb", "");

Not: OM.basketType parametresinde value olarak kullanıcının sepet işlemi yaptığı sayfayı gönderin. Sepete ekleme işleminde ve sepet sayfasında aynı event gönderilmektedir. Bu sayfaları ayrıştırmak için OM.basketType parametresinde BasketPage, ProductDetail, CategoryPage vb. şekillerde sepet işleminin yapıldığı sayfayı gönderebilirsiniz.

Kotlin

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ı parameters["OM.basketType"] = "BasketPage" RelatedDigital.customEvent( context = context, pageName = "Cart", properties = parameters )

Java

HashMap<String, String> parameters = new HashMap<String, String>(); parameters.put("OM.pbid", "Basket ID"); //Sepet ID si parameters.put("OM.pb", "Product1Code;Product2Code"); //Ürün1Kodu;Ürün2Kodu parameters.put("OM.pu", "Product1Quantity;Product2Quantity"); //Ürün1Miktarı;Ürün2Miktarı parameters.put("OM.ppr", "Product1Price*Product1Quantity;Product2Price*Product2Quantity"); //Ürün1Fiyatı*Ürün1Miktarı;Ürün2Fiyatı*Ürün2Miktarı parameters.put("OM.basketType", "BasketPage"); RelatedDigital.customEvent( context, "Cart", parameters );

Satın Alma

Kullanıcının bir ürün satın alması bilgisini göndermek için aşağıdaki customEvent() metodunu kullanabilirsiniz.

Kotlin

val parameters = HashMap<String, String>() parameters["OM.tid"] = "Transaction ID" //İşlem ID'si parameters["OM.pp"] = "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 = "Product Purchase", properties = parameters )

Java

HashMap<String, String> parameters = new HashMap<String, String>(); parameters.put("OM.tid", "Transaction ID"); //İşlem ID'si parameters.put("OM.pp", "Product1Code;Product2Code"); //Ürün1Kodu;Ürün2Kodu parameters.put("OM.pu", "Product1Quantity;Product2Quantity"); //Ürün1Miktarı;Ürün2Miktarı parameters.put("OM.ppr", "Product1Price*Product1Quantity;Product2Price*Product2Quantity"); //Ürün1Fiyatı*Ürün1Miktarı;Ürün2Fiyatı*Ürün2Miktarı RelatedDigital.customEvent( context, Product Purchase", parameters );

Kategori Görüntüleme

Kullanıcının bir kategori sayfasını görüntülemesi bilgisini göndermek için aşağıdaki customEvent() metodunu kullanabilirsiniz.

Kotlin

val parameters = HashMap<String, String>() parameters["OM.clist"] = "Category Code/Category ID" //Kategori Kodu/Kategori ID'si RelatedDigital.customEvent( context = context, pageName = "Category View", properties = parameters )

Java

HashMap<String, String> parameters = new HashMap<String, String>(); parameters.put("OM.clist", "Category Code/Category ID"); //Kategori Kodu/Kategori ID'si RelatedDigital.customEvent( context, "Category View", parameters );

Arama

Kullanıcının uygulamanızda yaptığı arama bilgisini göndermek için aşağıdaki customEvent() metodunu kullanabilirsiniz.

Kotlin

val parameters = HashMap<String, String>() parameters["OM.OSS"] = "Text Searched" //Aranan Metin parameters["OM.OSSR"] = "Number of Results" //Sonuç Sayısı RelatedDigital.customEvent( context = context, pageName = "Search", properties = parameters )

Java

HashMap<String, String> parameters = new HashMap<String, String>(); parameters.put("OM.OSS", "Text Searched"); //Aranan Metin parameters.put("OM.OSSR", "Number of Results"); //Sonuç Sayısı RelatedDigital.customEvent( context, "Search", parameters );

Banner Tıklaması

Kullanıcının uygulamanızdaki bir banner a tıklaması bilgisini göndermek için aşağıdaki customEvent() metodunu kullanabilirsiniz.

Kotlin

val parameters = HashMap<String, String>() parameters["OM.OSB"] = "Banner Name/Banner Code" //Banner İsmi/Banner Kodu RelatedDigital.customEvent( context = context, pageName = "Banner Click", properties = parameters )

Java

HashMap<String, String> parameters = new HashMap<String, String>(); parameters.put("OM.OSB", "Banner Name/Banner Code"); //Banner İsmi/Banner Kodu RelatedDigital.customEvent( context, "Banner Click", parameters );

Favorilere Ekleme

Kullanıcının favorilerine ürün eklemesi bilgisini göndermek için aşağıdaki customEvent() metodunu kullanabilirsiniz.

Kotlin

val parameters = HashMap<String, String>() parameters["OM.pf"] = "Product Code" //Ürün Kodu parameters["OM.pfu"] = "1" parameters["OM.pfr"] = "Product Price" //Ürün Fiyatı RelatedDigital.customEvent( context = context, pageName = "/om_evt.gif", properties = parameters )

Java

HashMap<String, String> parameters = new HashMap<String, String>(); parameters.put("OM.pf", "Product Code"); //Ürün Kodu parameters.put("OM.pfu", "1"); parameters.put("OM.pfr", "Product Price"); //Ürün Fiyatı RelatedDigital.customEvent( context, "/om_evt.gif", parameters );

Favorilere ürün eklendiğinde "OM.pfu" değeri “1”; çıkarıldığında ise “-1” gönderilmelidir.

Favorilere ürün eklendiğinde veya çıkarıldığında pageName parametresi "/om_evt.gif" şeklinde gönderilmelidir.

Favorilerden Çıkarma

Kullanıcının favorilerinden ürün çıkarması bilgisini göndermek için aşağıdaki customEvent() metodunu kullanabilirsiniz.

Kotlin

val parameters = HashMap<String, String>() parameters["OM.pf"] = "Product Code" //Ürün Kodu parameters["OM.pfu"] = "-1" parameters["OM.pfr"] = "Product Price" //Ürün Fiyatı RelatedDigital.customEvent( context = context, pageName = "/om_evt.gif", properties = parameters )

Java

HashMap<String, String> parameters = new HashMap<String, String>(); parameters.put("OM.pf", "Product Code"); //Ürün Kodu parameters.put("OM.pfu", "-1"); parameters.put("OM.pfr", "Product Price"); //Ürün Fiyatı RelatedDigital.customEvent( context, "/om_evt.gif", parameters );

Favorilere ürün eklendiğinde "OM.pfu" değeri “1”; çıkarıldığında ise “-1” gönderilmelidir.

Favorilere ürün eklendiğinde veya çıkarıldığında pageName parametresi "/om_evt.gif" şeklinde gönderilmelidir.

Uygulama Takibi / App Tracker

Uygulama Takibi özelliği kullanıcının cihazındaki Google Play Store, Amazon App Store ve Huawei App Gallery' den yüklenmiş (ve hala yüklü durumda olan) uygulamaların listesini göndermek içindir. Aşağıdaki sendTheListOfAppsInstalled() metodunu uygulamanızın isteğinizin yerinden ve istediğiniz zaman aralığıyla çağırabilirsiniz (Örneğin, launcher activity içerisinden haftada bir).

Kotlin

RelatedDigital.sendTheListOfAppsInstalled( context = context )

Java

RelatedDigital.sendTheListOfAppsInstalled( context );

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.

<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 eklenmek zorundadır.

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:ignore="QueryAllPackagesPermission" />

İkinci yöntemde Google Play Store ne için bu izne neden ihtiyaç duyulduğunun açıklanmasını bekleyebilir.

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

Birinci yöntem herhangi bir izin gerektirmez.

Yukarıda belirtilen 2 yöntemden birisi uygulandıktan sonra

RelatedDigital.sendTheListOfAppsInstalled()

çağırılması yeterlidir.

Lokasyon İzin Bilgisini Yollama

Kullanıcının lokasyon izin durumu bilgisini göndermek için aşağıdaki sendLocationPermission() metodunu kullanabilirsiniz.

Kotlin

RelatedDigital.sendLocationPermission( context = context )

Java

RelatedDigital.sendLocationPermission( context );

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

Kullanıcılarınıza push mesajları göndermek için kullanıcılarınızın token bilgilerine ihtiyaç duyulmaktadır. Firebase veya Huawei den alınan token değeri, OM.sys.TokenID parametresiyle gönderilmelidir. OM.sys.AppID parametresinin değeri RMC yönetim panelinden elde edilebilir. Bu linke gidiniz ve ilgili push uygulamasını seçiniz. Uygulama App Alias değeri OM.sys.AppID parametresinin değeri olarak gönderilmelidir. Sorun yaşarsanız lütfen RMC destek ekibiyle iletişime geçiniz.

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.

Kotlin

parameters["OM.sys.TokenID"] = "tokenDeğeri" parameters["OM.sys.AppID"] = "appAliasDeğeri" // RMC panelden alınacaktır

Java

parameters.put("OM.sys.TokenID", "tokenDeğeri"); parameters.put("OM.sys.AppID", "appAliasDeğeri"); // RMC panelden alınacaktır

Örnek Uygulama

RelatedDigital Demo Uygulaması

Related content

Copyright 2020 Related Digital