Table of Contents | ||||
---|---|---|---|---|
|
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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, |
Code Block | ||
---|---|---|
| ||
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" /> |
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
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 |
...