...
9 farklı In-App Message tasarımı mevcut:
Pop-up - Görsel, Başlık, Yazı & Buton | Mini - İkon & Yazı | Tam Ekran Görsel |
---|---|---|
Tam Ekran Görsel ve Buton | Pop-up - Görsel, Başlık, Yazı ve Buton | Pop-up Anket |
Pop-up - Yazı ve Butonlu NPS | Native Alert & Action Sheet | 1-10 Puanlama NPS |
Yıldızlı anket & ikinci pop-up | ||
...
ZoneID her uygulama için farklıdır, bu nedenle destek için RMC ekibi ile iletişime geçiniz. "Alternatif Ürünler" gibi öneri widgetları, ürün kodunun bir parametre olarak görülmesini gerektirir.
Callback fonksiyonunun spesifikasyonu şöyledirTalep tamamlandıktan sonra, talebin başarı ya da başarısızlık durumuna bağlı olarak callback fonksiyonu çağrılır, bu nedenle ihtiyaçlarınıza göre callback fonksiyonlarını aşağıda gösterildiği gibi kodlamanız gerekir:
Code Block | ||
---|---|---|
| ||
VisilabsCallback callback = new VisilabsCallback() {
@Override
public void success(VisilabsResponse response) {
try{
JSONObject jsonObject = response.getJson();
String groupTitle = jsonObject.getString("title");
JSONArray jsonArray = jsonObject.getJSONArray("recommendations");
for(int i = 0 ; i < jsonArray.length() ; i++) {
JSONObject currentProductObject = jsonArray.getJSONObject(i);
String currentProductTitle = currentProductObject.getString("title");
Double currentProductPrice = currentProductObject.getDouble("price");
boolean currentProductFreeShipping = currentProductObject.getBoolean("freeshipping");
String qs = currentProductObject.getString("qs");
//Continues like this...
}
} catch (Exception e){
Log.e(LOG_TAG, e.getMessage(), e);
}
}
@Override
public void fail(VisilabsResponse response) {
Log.e(LOG_TAG, response.getErrorMessage());
}
}; |
Yukarıdaki gibi callback fonksiyonunu oluşturulduktan sonra istek aşağıdaki şekilde gibi atılır:
Code Block | ||
---|---|---|
| ||
VisilabsTargetRequest targetRequest = Visilabs.CallAPI().buildTargetRequest(zoneID, "productCode"); targetRequest.executeAsync(callback); |
...
Code Block | ||
---|---|---|
| ||
List<VisilabsTargetFilter> filters = new ArrayList<VisilabsTargetFilter>(); HashMap<String,String> properties = new HashMap<String, String>(); properties.put("OM.extra", "Extra Value"); VisilabsTargetFilter f = new VisilabsTargetFilter("attr1", "0", "value"); filters.add(f); f.setAttribute("attr2"); f.setFilterType("1"); // There are 2 filter types: Include and Exclude. For Include pass "0", for Exclude pass "1". f.setValue("value"); filters.add(f); try { VisilabsTargetRequest targetRequest = Visilabs.CallAPI().buildTargetRequest(zoneID, "productCode", properties, filters); targetRequest.executeAsync(callback); } catch (Exception e) { e.printStackTrace(); |
Talep tamamlandıktan sonra, talebin başarı ya da başarısızlık durumuna bağlı olarak callback fonksiyonu çağrılır, bu nedenle ihtiyaçlarınıza göre callback fonksiyonlarını aşağıda gösterildiği gibi kodlamanız gerekir:Recommendation tıklamalarının panele yansıması için, aşağıdaki method ilgili ürünün "qs" parametresiyle çağırılmalıdır.
Code Block | ||
---|---|---|
| ||
VisilabsCallback// örnek callback =fonsiyonunda newher VisilabsCallback()bir {ürün için "qs" parametresinin nasıl @Overrideelde public void success(VisilabsResponse response) { try{ JSONArray array = response.getArray(); }catch (Exception ex){ Log.e(LOG_TAG, ex.getMessage(), ex); } } @Override public void fail(VisilabsResponse response) { Log.e(LOG_TAG, response.getErrorMessage()); } }edilebileceğini görebilirsiniz. Visilabs.CallAPI().trackRecommendationClick(qs); |
...
Code Block | ||
---|---|---|
| ||
customEvent(String pageName, HashMap<String, String> properties, Activity parent) |
Çarkıfelek Yarım Görünüm | Çarkıfelek Tam Görünüm |
---|---|
Kazı Kazan
RMC panelden in-app message’da olduğu gibi Kazı Kazan oluşturduktan sonra her customEvent çağırdığınız zaman Kazı Kazan olup olmadığı kontrol edilir ardından Kazı Kazan gösterilir. customEvent parametresinde Activity’i alan overloadı çağırmanız gerekmektedir. Örnek kod ve görsel;
...