Versions Compared

Key

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

...

Ardından customEvent() metodunu çağırabilirsiniz.

InApp’lerde Custom Font kullanımı

  1. InApp’lerde custom font kullanımı için ilk olarak res klasörü altında font folder'ı oluşturun.

  2. Oluşturduğunuz klasörün içerisine istediğiniz fontları ekleyebilirsiniz.

  3. Son olarak arayüzden uzantısız bir şekilde kullanmak istediğiniz fontun adını girin.

...

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

Yarım Ekran Görsel

Carousel

Video In-App

InApp İçeren Örnek Uygulama

Favori Özellik Aksiyonu

RMC panel üzerindeki target aksiyonlarından tanımladığınız favori değişkenlerinizi aşağıdaki gibi mobil uygulama üzerinden alıp kullanabilirsiniz.

...

languagejava

...

Rakamlarla Anket - Inline

InlineNpsWithNumbersView'ı projenizde tercih ettiğiniz bir layout dosyasına eklemelisiniz.
Örnek kullanım:

Code Block
?xml version="1.0" encoding="utf-8"?>
<
LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   xmlns:app="http://schemas.android.com/apk/res-auto">
   <com.visilabs.inApp.inlineNpsWithNumber.InlineNpsWithNumbersView
        visilabsActionRequest.executeAsyncAction(getVisilabsCallback());android:id="@+id/inlineNps"
    } catch (Exception e) { android:layout_width="match_parent"
       android:layout_height="wrap_content"
 e.printStackTrace();     } />
</
LinearLayout
 }

Not: getVisilabsCallback() metodu için aşağıdaki iki kod bloğundan birisini kullanabilirsiniz.

Code Block
languagejava
private VisilabsActionsCallback getVisilabsCallback() {
    return new VisilabsActionsCallback() {

        @Override
        public void success(VisilabsActionsResponse message, String url) {
          List<FavoriteAttributeAction> favoriteAttributeActions = message.getFavoriteAttributeAction();
          String[] brands = favoriteAttributeActions.get(0).getActiondata().getFavorites().getBrand();
          //Continues like this...
        }

        @Override
        public void fail(Throwable t, String url>

InlineNpsWithNumbersView 'i ekledikten sonra ilgili koddaki (Java veya Kotlin) nesneye erişmeli ve bu nesne üzerinde setNpsWithNumberAction() yöntemini çağırmalısınız. Bu yöntem 1 zorunlu (Bağlam bağlamı) ve 3 isteğe bağlı parametreye (HashMap<String, String> özellikleri, NpsItemClickListener npsItemClickListener, Activity) sahiptir.

Özellikler, isteğe bağlı olan parametreler, istediğiniz sorgu parametrelerini eklemeniz içindir.
nps ItemClickListener, kullanıcı bir banner’a tıkladığında kontrolü elde etmek içindir. Sdk'nın kullanıcıyı otomatik olarak bağlantıya yönlendirmesini istemiyorsanız, bu arayüzü kullanabilirsiniz.

InApp İçeren Örnek Uygulama

Favori Özellik Aksiyonu

RMC panel üzerindeki target aksiyonlarından tanımladığınız favori değişkenlerinizi aşağıdaki gibi mobil uygulama üzerinden alıp kullanabilirsiniz.

Code Block
languagejava
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


//requestAction() or requestActionId()
  try {
        VisilabsActionRequest visilabsActionRequest = Visilabs.CallAPI().requestAction(VisilabsConstant.FavoriteAttributeAction);
        visilabsActionRequest.executeAsyncAction(getVisilabsCallback());
    } catch (Exception e) {
        e.printStackTrace();
   Log.e("Error", t.getMessage());
        }
 }
   }; }

veyaNot: getVisilabsCallback() metodu için aşağıdaki iki kod bloğundan birisini kullanabilirsiniz.

Code Block
languagejava
private VisilabsFavsRequestCallbackVisilabsActionsCallback getVisilabsCallback() {
    return new VisilabsFavsRequestCallbackVisilabsActionsCallback() {

        @Override
        public void success(FavsResponseVisilabsActionsResponse message, String url) {
          List<FavoriteAttributeAction> favoriteAttributeActions = Logmessage.i(LOG_TAG, "Success Request : " + url);getFavoriteAttributeAction();
          String[] brands = favoriteAttributeActions.get(0).getActiondata().getFavorites().getBrand();
     //Do your work here by using message, e.g//Continues like this...
        }

  /*      @Override
      List<FavoriteAttributeAction>  favsActionspublic =void message.getFavoriteAttributeAction();
     fail(Throwable t, String url) {
      for (int i = 0; i < favsActions.size() ; i++) { Log.e("Error", t.getMessage());
        }
    };
}

veya

Code Block
languagejava
private VisilabsFavsRequestCallback getVisilabsCallback() {
String actionType = favsActions.get(i).getActiontype();
    return new VisilabsFavsRequestCallback() {
        @Override
   Log.i(LOG_TAG, "action type " + i+1public +void " : " + actionType);
success(FavsResponse message, String url) {
            Log.i(LOG_TAG, "Success Request Actiondata: " actionData = favsActions.get(i).getActiondata(+ url);
            //Do your work here forby (intusing j = 0; j < favsActions.size() ; j++) {message, e.g.
            /*
            List<FavoriteAttributeAction> favsActions String[] attributes = actionDatamessage.getAttributesgetFavoriteAttributeAction();
            for (int i = 0; i   Favorites favorites = actionData.getFavorites< favsActions.size() ; i++) {
                String actionType //goes= onfavsActions...get(i).getActiontype();
                }
            }Log.i(LOG_TAG, "action type " + i+1 + " : " + actionType);
              */  Actiondata  actionData = favsActions.get(i).getActiondata();
  }         @Override     for (int j = public void fail(Throwable t, String url0; j < favsActions.size() ; j++) {
             Log.e(LOG_TAG, "Fail Request : " + url);       String[] attributes = actionData.getAttributes();
                Log.e(LOG_TAG, "Fail Request Message :Favorites "favorites += tactionData.getMessagegetFavorites());
        }           };
}

Story Manager

Story Banner ve Story Aksiyonu

Her iki aksiyon içinde implementasyonu için aşağıdaki VisilabsRecyclerView ‘i layout’ta istediğiniz bölüme yerleştirin.

Code Block
languagexml
 //goes on...
      <com.visilabs.story.VisilabsRecyclerView         android:id="@+id/vrv_story"
 }
       android:layout_width="match_parent"     }
            android:layout_height="wrap_content"/>

VisilabsRecyclerView'i classınızda tanımladıktan sonra StoryItemClickListener tanımlayarak her bir story’e tıklandığında yapmak istediğiniz yönlendirme ve ya aksiyonu tanımlayınız. Burada örnek olması için Toast Mesajı gösterilmiştir.

Ardından VisilabsRecyclerView'in setStoryActionmethodunu çağrarak storyItemClickListenerobjesini methoda ekleyiniz.

Code Block
languagejava
    VisilabsRecyclerView visilabsRecyclerView = findViewById(R.id.vrv_story);*/
        }
        @Override
        public void fail(Throwable t, StoryItemClickListenerString storyItemClickListenerurl) ={
new  StoryItemClickListener() {         Log.e(LOG_TAG, "Fail Request : @Override" + url);
          public void storyItemClicked(String storyLink) {
    Log.e(LOG_TAG, "Fail Request Message : " + t.getMessage());
        }
  Toast.makeText(getApplicationContext(), storyLink, Toast.LENGTH_LONG).show();
 };
}

Story Manager

Story Banner ve Story Aksiyonu

Her iki aksiyon içinde implementasyonu için aşağıdaki VisilabsRecyclerView ‘i layout’ta istediğiniz bölüme yerleştirin.

Code Block
languagexml
    <com.visilabs.story.VisilabsRecyclerView
      }    android:id="@+id/vrv_story"
    };    android:layout_width="match_parent"
    visilabsRecyclerView.setStoryAction(getApplicationContext(), storyItemClickListener);   

İsterseniz Story Aksiyon Id ile de setleyebilirsiniz.

android:layout_height="wrap_content"/>

VisilabsRecyclerView'i classınızda tanımladıktan sonra StoryItemClickListener tanımlayarak her bir story’e tıklandığında yapmak istediğiniz yönlendirme ve ya aksiyonu tanımlayınız. Burada örnek olması için Toast Mesajı gösterilmiştir.

Ardından VisilabsRecyclerView'in setStoryActionmethodunu çağrarak storyItemClickListenerobjesini methoda ekleyiniz.

Code Block
languagejava
    VisilabsRecyclerView visilabsRecyclerView = visilabsRecyclerView.setStoryActionId(getApplicationContext(), "250", storyItemClickListener);

Panelde aktif story looking banner veya story olduğu sürece uygulamanızda gözükecektir.

Recommendation

Recommendation Widget'larının Mobil Uygulamaya Yerleştirilmesi

Android mobil uygulamanızda, kişiye özel ürün önerileri göstermeniz için gerekli dokümanları bu bölümde bulabilirsiniz.  

Bir VisilabsTargetRequest nesnesi oluşturun ve VisilabsTargetRequest nesnesinin executeAsync yöntemini çağırın.

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.

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:

Code Block
languagejava
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");
   findViewById(R.id.vrv_story);

       StoryItemClickListener storyItemClickListener = new StoryItemClickListener() {
            @Override
            public void storyItemClicked(String storyLink) {
                Toast.makeText(getApplicationContext(), storyLink, Toast.LENGTH_LONG).show();
            }
        };

       visilabsRecyclerView.setStoryAction(getApplicationContext(), storyItemClickListener);

 

İsterseniz Story Aksiyon Id ile de setleyebilirsiniz.

Code Block
languagejava
      visilabsRecyclerView.setStoryActionId(getApplicationContext(), "250", storyItemClickListener);

Panelde aktif story looking banner veya story olduğu sürece uygulamanızda gözükecektir.

Recommendation

Recommendation Widget'larının Mobil Uygulamaya Yerleştirilmesi

Android mobil uygulamanızda, kişiye özel ürün önerileri göstermeniz için gerekli dokümanları bu bölümde bulabilirsiniz.  

...

Bir VisilabsTargetRequest nesnesi oluşturun ve VisilabsTargetRequest nesnesinin executeAsync yöntemini çağırın.

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.

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:

Code Block
languagejava
VisilabsCallback callback = new VisilabsCallback() {
    @Override
    public void success(VisilabsResponse response) {
        try{
            booleanJSONObject currentProductFreeShippingjsonObject = currentProductObjectresponse.getBooleangetJson("freeshipping");
   
            String qsgroupTitle = currentProductObjectjsonObject.getString("qstitle");
            JSONArray jsonArray =  //Continues like this...jsonObject.getJSONArray("recommendations");
            for(int i = 0 }; i < jsonArray.length() ; i++) {
  } catch (Exception e){           JSONObject  Log.e(LOG_TAG, e.getMessage(), e)currentProductObject = jsonArray.getJSONObject(i);
        }     }   String currentProductTitle @Override
    public void fail(VisilabsResponse response) {= currentProductObject.getString("title");
                Double  Log.e(LOG_TAG, response.getErrorMessage()currentProductPrice = currentProductObject.getDouble("price");
    } };

Yukarıdaki gibi callback fonksiyonunu oluşturulduktan sonra istek aşağıdaki şekilde gibi atılır:

Code Block
languagejava
VisilabsTargetRequest targetRequest           boolean currentProductFreeShipping = Visilabs.CallAPI().buildTargetRequest(zoneID, "productCodecurrentProductObject.getBoolean("freeshipping");
targetRequest.executeAsync(callback);

...

Code Block
languagejava
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();

Attribute

...

Fonksiyon

...

Açıklama

...

PRODUCTCODE

...

Ürün koduna göre filtreleme yapar

...

PRODUCTNAME

...

Ürün ismine göre filtreleme yapar

...

COLOR

...

Ürün rengine göre filtreleme yapar

...

AGEGROUP

...

Ürün yaş grubuna göre filtreleme yapar

...

BRAND

...

Ürün markasına göre filtreleme yapar

...

CATEGORY

...

Ürün kategorisine göre filtreleme yapar

...

GENDER

...

Ürün cinsiyetine göre filtreleme yapar

...

MATERIAL

...

Ürün material kolonuna göre filtreleme yapar

...

ATTRIBUTE1

...

Ürün attribute1 kolonuna göre filtreleme yapar

...

ATTRIBUTE2

...

Ürün attribute2 kolonuna göre filtreleme yapar

...

ATTRIBUTE3

...

Ürün attribute3 kolonuna göre filtreleme yapar

...

ATTRIBUTE4

...

Ürün attribute4 kolonuna göre filtreleme yapar

...

ATTRIBUTE5

...

Ürün attribute5 kolonuna göre filtreleme yapar

...

SHIPPINGONSAMEDAY

...

Ürünün aynı gün kargo kolonuna göre filtreler

...

FREESHIPPING

...

Ürünün ücretsiz kargo durumuna göre filtreler

...

ISDISCOUNTED

...

Ürün indirim durumuna göre filtreleme yapar

Filter Type

...

Fonksiyon

...

Açıklama

...

like

...

Verilen değer, seçilen kolonun içerisinde geçiyor mu kontrolü yapar.

...

notLike

...

Verilen değer, seçilen kolonun içerisinde geçmiyor mu kontrolü yapar.

...

equals

...

Verilen değer, seçilen kolondaki değere tam eşit mi kontrolü yapar.

...

notEquals

...

Verilen değer, seçilen kolondaki değere tam eşit değil mi kontrolü yapar.

...

greaterThan

...

Verilen değer, seçilen kolondaki değerden daha büyük mü kontrolü yapar.

...

lessThan

...

Verilen değer, seçilen kolondaki değerden daha küçük mü kontrolü yapar.

...

greaterOrEquals

...

Verilen değer, seçilen kolondaki değerden daha büyük veya eşit mi kontrolü yapar.

...

lessOrEquals

...

Verilen değer, seçilen kolondaki değerden daha küçük veya eşit mi kontrolü yapar.

...

Code Block
languagejava
// örnek callback fonsiyonunda her bir ürün için "qs" parametresinin nasıl elde edilebileceğini görebilirsiniz.
Visilabs.CallAPI().trackRecommendationClick(qs);

Mail Üyelik Formu

RMC panelden in-app message’da olduğu gibi mail üyelik formunu oluşturduktan sonra her customEvent çağırdığınız zaman mail üyelik formu olup olmadığı kontrol edilir ardından mail üyelik formu gösterilir. customEvent parametresinde Activity’i alan overloadı çağırmanız gerekmektedir. Örnek kod ve görsel;

Code Block
languagejava
customEvent(String pageName, HashMap<String, String> properties, Activity parent)

...

Çarkıfelek

RMC panelden in-app message’da olduğu gibi çarkıfelek oluşturduktan sonra her customEvent çağırdığınız zaman çarkıfelek olup olmadığı kontrol edilir ardından çarkıfelek gösterilir. customEvent parametresinde Activity’i alan overloadı çağırmanız gerekmektedir. Örnek kod ve görsel;

Code Block
languagejava
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;

Code Block
languagejava
customEvent(String pageName, HashMap<String, String> properties, Activity parent)

...

Rakamlarla Anket - Inline

InlineNpsWithNumbersView'ı projenizde tercih ettiğiniz bir layout dosyasına koymalısınız.
Örnek kullanım:

Code Block
?xml version="1.0" encoding="utf-8"?>
<
LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   xmlns:app="http://schemas.android.com/apk/res-auto">
   <com.visilabs.inApp.inlineNpsWithNumber.InlineNpsWithNumbersView
       android:id="@+id/inlineNps"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       />
</
LinearLayout
>

InlineNpsWithNumbersView 'i koyduktan sonra ilgili program kodundaki (Java veya Kotlin) nesneye erişmeli ve bu nesne üzerinde setNpsWithNumberAction() yöntemini çağırmalısınız. Bu yöntem 1 zorunlu (Bağlam bağlamı) ve 3 isteğe bağlı parametre (HashMap<String, String> özellikleri, NpsItemClickListener npsItemClickListener, Activity) alır.

...


                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
languagejava
VisilabsTargetRequest targetRequest = Visilabs.CallAPI().buildTargetRequest(zoneID, "productCode");
targetRequest.executeAsync(callback);


Ayrıca, filtreleri ve ek parametreleri geçirebileceğiniz bir overload buildTargetRequest yöntemi bulunmaktadır.

Code Block
languagejava
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();

Attribute

Fonksiyon

Açıklama

PRODUCTCODE

Ürün koduna göre filtreleme yapar

PRODUCTNAME

Ürün ismine göre filtreleme yapar

COLOR

Ürün rengine göre filtreleme yapar

AGEGROUP

Ürün yaş grubuna göre filtreleme yapar

BRAND

Ürün markasına göre filtreleme yapar

CATEGORY

Ürün kategorisine göre filtreleme yapar

GENDER

Ürün cinsiyetine göre filtreleme yapar

MATERIAL

Ürün material kolonuna göre filtreleme yapar

ATTRIBUTE1

Ürün attribute1 kolonuna göre filtreleme yapar

ATTRIBUTE2

Ürün attribute2 kolonuna göre filtreleme yapar

ATTRIBUTE3

Ürün attribute3 kolonuna göre filtreleme yapar

ATTRIBUTE4

Ürün attribute4 kolonuna göre filtreleme yapar

ATTRIBUTE5

Ürün attribute5 kolonuna göre filtreleme yapar

SHIPPINGONSAMEDAY

Ürünün aynı gün kargo kolonuna göre filtreler

FREESHIPPING

Ürünün ücretsiz kargo durumuna göre filtreler

ISDISCOUNTED

Ürün indirim durumuna göre filtreleme yapar

Filter Type

Fonksiyon

Açıklama

like

Verilen değer, seçilen kolonun içerisinde geçiyor mu kontrolü yapar.

notLike

Verilen değer, seçilen kolonun içerisinde geçmiyor mu kontrolü yapar.

equals

Verilen değer, seçilen kolondaki değere tam eşit mi kontrolü yapar.

notEquals

Verilen değer, seçilen kolondaki değere tam eşit değil mi kontrolü yapar.

greaterThan

Verilen değer, seçilen kolondaki değerden daha büyük mü kontrolü yapar.

lessThan

Verilen değer, seçilen kolondaki değerden daha küçük mü kontrolü yapar.

greaterOrEquals

Verilen değer, seçilen kolondaki değerden daha büyük veya eşit mi kontrolü yapar.

lessOrEquals

Verilen değer, seçilen kolondaki değerden daha küçük veya eşit mi kontrolü yapar.


Recommendation tıklamalarının panele yansıması için, aşağıdaki method, tıklanan ürünün "qs" parametresiyle çağırılmalıdır.

Code Block
languagejava
// örnek callback fonsiyonunda her bir ürün için "qs" parametresinin nasıl elde edilebileceğini görebilirsiniz.
Visilabs.CallAPI().trackRecommendationClick(qs);

Mail Üyelik Formu

RMC panelden in-app message’da olduğu gibi mail üyelik formunu oluşturduktan sonra her customEvent çağırdığınız zaman mail üyelik formu olup olmadığı kontrol edilir ardından mail üyelik formu gösterilir. customEvent parametresinde Activity’i alan overloadı çağırmanız gerekmektedir. Örnek kod ve görsel;

Code Block
languagejava
customEvent(String pageName, HashMap<String, String> properties, Activity parent)

...

Çarkıfelek

RMC panelden in-app message’da olduğu gibi çarkıfelek oluşturduktan sonra her customEvent çağırdığınız zaman çarkıfelek olup olmadığı kontrol edilir ardından çarkıfelek gösterilir. customEvent parametresinde Activity’i alan overloadı çağırmanız gerekmektedir. Örnek kod ve görsel;

Code Block
languagejava
customEvent(String pageName, HashMap<String, String> properties, Activity parent)

Çarkıfelek Yarım Görünüm

Çarkıfelek Tam Görünüm

Image Added

Image Added

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;

Code Block
languagejava
customEvent(String pageName, HashMap<String, String> properties, Activity parent)

...

Ürün Durum Bilgisi

RMC Panelde tanımladığınız Ürün Durum Bilgisi aksiyonu Ürün Görüntüleme, Sepete Ekleme ve Favoriye Ekleme/Çıkarma eventlerinde çalışmaktadır. Bu eventlerde ürün idnin gönderildiğinden emin olmalısınız. Bu eventlerde çağırdığınız customEvent metodunun Activity overloadını alması gerekmektedir.

...