Versions Compared

Key

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

...

Kullanıcınıza uygulama-içi bir mesaj göstermek için öncelikle RMC panelinden bir target aksiyon tanımlamanız ve gerekli alanları doldurmanız gerekmektedir. Ardından aşağıdaki gibi bu target aksiyonu tetikleyebilir ve kullanıcınıza oluşturduğunuz formu uygulamanız aracılığıyla gösterebilirsiniz.

Kotlin

Code Block
languagekotlin
val parameters = HashMap<String, String>()
RelatedDigital.customEvent(
  context = context,
  pageName = "Uygulama-İçi Mesaj",
  properties = parameters,
  parent = activity
)

Java

Code Block
languagejava
HashMap<String, String> parameters = new HashMap<String, String>();
RelatedDigital.customEvent(
  context,
  "Uygulama-İçi Mesaj",
  parameters,
  activity
);
Info

Uygulama-içi mesaj göstermek için yukarıdaki gibi customEvent metodunu çağırırken parent parametresi null olmamalıdır. parent parametresine bir Activity değeri verilmezse mesaj görünmeyecektir.

...

Kullanıcınıza gösterilen uygulama-içi mesaj ekranında kullanıcı, yönlendirmenin olduğu öğeye tıkladığında, alınacak aksiyonu kendiniz yönetmek isterseniz aşağıdaki gibi bir callback tanımlaması yapmanız ve bu callback i setInAppButtonInterface metoduna iletmeniz gerekmektedir.

Kotlin

Code Block
languagekotlin
val buttonCallback: InAppButtonInterface = object : InAppButtonInterface {
  override fun onPress(link: String?) {
    //Tıklama sonrası çalıştırılacak kodu buraya yazınız.
  }
}
RelatedDigital.setInAppButtonInterface(buttonCallback)

val parameters = HashMap<String, String>()
RelatedDigital.customEvent(
  context = context,
  pageName = "Uygulama-İçi Mesaj",
  properties = parameters,
  parent = activity
 
)
Info

Her tıklama sonrası, SDK girilen callback i çağırır ve tanımlanan callback i kaldırır. Bu yüzden callback kullanmak isteğiniz her aksiyondan önce yeni bir callback tanımlaması yapıp setInAppButtonInterface metodu aracılığıyla SDK ya iletmeniz gerekmektedir. Daha sonra customEvent metoduyla ilgili aksiyonu tetikleyebilirsiniz.

Özel Font Kullanımı

  1. Uygulama-içi mesajlarda özel font kullanımı için ilk olarak projenizin res klasörü altında font dosyası oluşturunuz(yoksa).

    Image Removed

     

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

    Image Removed

     

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

    Image Removed

...

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

...

 

...

 

...

Java

Code Block
languagejava
InAppButtonInterface buttonCallback = new InAppButtonInterface() {
  @Override
  public void onPress(String link) {
    //Tıklama sonrası çalıştırılacak kodu buraya yazınız.    
  }
};

RelatedDigital.setInAppButtonInterface(buttonCallback);

HashMap<String, String> parameters = new HashMap<String, String>();
RelatedDigital.customEvent(
  context,
  "Uygulama-İçi Mesaj",
  parameters,
  activity
);
Info

Her tıklama sonrası, SDK girilen callback i çağırır ve tanımlanan callback i kaldırır. Bu yüzden callback kullanmak isteğiniz her aksiyondan önce yeni bir callback tanımlaması yapıp setInAppButtonInterface metodu aracılığıyla SDK ya iletmeniz gerekmektedir. Daha sonra customEvent metoduyla ilgili aksiyonu tetikleyebilirsiniz.

Özel Font Kullanımı

  1. Uygulama-içi mesajlarda özel font kullanımı için ilk olarak projenizin res klasörü altında font dosyası oluşturunuz(yoksa).

    Image Added

     

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

    Image Added

     

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

    Image Added


Uygulama-İçi Mesaj Tasarımları

Pop-up - Görsel, Başlık, Yazı & Buton

Mini - İkon & Yazı

Tam Ekran Görsel

Image AddedImage Added

 

Image Added

 

Tam Ekran Görsel ve Buton

Pop-up - Görsel, Başlık, Yazı ve Buton

Pop-up Anket

Image Added

 

Image Added

 

Image Added

 

Pop-up - Yazı ve Butonlu NPS

Native Alert & Action Sheet

1-10 Puanlama NPS

Image Added

 

Image Added

 

Image Added

Yıldızlı anket & ikinci pop-up

Yarım Ekran Görsel

Carousel

 

 

 

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
languagekotlin
val callback: VisilabsCallback = object : VisilabsCallback {
  override fun success(response: VisilabsResponse?) {
    try {
      val favsResponse: FavsResponse = Gson().fromJson(response!!.rawResponse, FavsResponse::class.java)
      val favBrands: String = favsResponse.favoriteAttributeAction!![0].actiondata!!.favorites!!.brand!![0]!!
      Log.i("Favs 1.Brand", favBrands)
    } catch (e: Exception) {
      Log.e("Favori Özellik", e.message)
    }
  }

  override fun fail(response: VisilabsResponse?) {
    Log.e("Favori Özellik", response!!.error!!.message)
  }
}

RelatedDigital.getFavorites(
  context = applicationContext,
  actionId = null,
  actionType = Constants.FavoriteAttributeAction,
  visilabsCallback = callback)

Story Manager

Uygulamanızın layout unda dilediğiniz bir alana StoryRecyclerView ı yerleştiriniz.

Code Block
languagexml
<com.relateddigital.relateddigital_android.inapp.story.StoryRecyclerView
  android:id="@+id/story_recycler_view"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" />

StoryItemClickListener tanımlayarak her bir story’e tıklandığında yapmak istediğiniz yönlendirme veya alınacak aksiyonu tanımlayınız.

Ardından StoryRecyclerView ın setStoryAction veya setStoryActionId methodunu çağırarak storyItemClickListenerobjesini methoda ekleyiniz.

Code Block
languagekotlin
val storyItemClickListener = object : StoryItemClickListener {
  override fun storyItemClicked(storyLink: String?) {
    //Burada storyLink değişkenini kullanarak gerekli yönlendirmeyi yapabilirsiniz
  }
}     
binding.storyRecyclerView.setStoryAction(
  context = context,
  storyItemClickListener = storyItemClickListener)

veya

Code Block
languagekotlin
val storyItemClickListener = object : StoryItemClickListener {
  override fun storyItemClicked(storyLink: String?) {
    //Burada storyLink değişkenini kullanarak gerekli yönlendirmeyi yapabilirsiniz
  }
}     
binding.storyRecyclerView.setStoryActionId(
  context = context,
  storyId = storyId,
  storyItemClickListener = storyItemClickListener)

Eğer bir şeylerin ters gitmesi ve story aksiyonun gösterilememesi durumunda layout dosyanıza eklediğiniz StoryRecyclerView dan dolayı ekranda ilgili alanın boş kalmasına karşı önlem almak isterseniz story aksiyonunu aşağıdaki gibi setStoryActionWithRequestCallback veya setStoryActionIdWithRequestCallback metotlarını kullanarak tetikleyebilirsiniz.

Code Block
languagekotlin
val storyItemClickListener = object : StoryItemClickListener {
  override fun storyItemClicked(storyLink: String?) {
    //Burada storyLink değişkenini kullanarak gerekli yönlendirmeyi yapabilirsiniz
  }
}
val storyRequestListener = object : StoryRequestListener {
  override fun onRequestResult(isAvailable: Boolean) {
    if (!isAvailable) {
      //Burada StoryRecyclerView ı kaldırmalısınız
      binding.storyRecyclerView.visibility = View.GONE
    }
  }
}    
binding.storyRecyclerView.setStoryActionWithRequestCallback(
  context = context,
  storyItemClickListener = storyItemClickListener
  storyRequestListener = storyRequestListener)

Code Block
languagekotlin
val storyItemClickListener = object : StoryItemClickListener {
  override fun storyItemClicked(storyLink: String?) {
    //Burada storyLink değişkenini kullanarak gerekli yönlendirmeyi yapabilirsiniz
  }
}
val storyRequestListener = object : StoryRequestListener {
  override fun onRequestResult(isAvailable: Boolean) {
    if (!isAvailable) {
      //Burada StoryRecyclerView ı kaldırmalısınız
      binding.storyRecyclerView.visibility = View.GONE
    }
  }
}    
binding.storyRecyclerView.setStoryActionIdWithRequestCallback(
  context = context,
  storyId = storyId,
  storyItemClickListener = storyItemClickListener
  storyRequestListener = storyRequestListener)

Öneriler Aksiyonu

...

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.

Kotlin

Code Block
languagekotlin
val callback: VisilabsCallback = object : VisilabsCallback {
  override fun success(response: VisilabsResponse?) {
    try {
      val favsResponse: FavsResponse = Gson().fromJson(response!!.rawResponse, FavsResponse::class.java)
      val favBrands: String = favsResponse.favoriteAttributeAction!![0].actiondata!!.favorites!!.brand!![0]!!
      Log.i("Favs 1.Brand", favBrands)
    } catch (e: Exception) {
      Log.e("Favori Özellik", e.message)
    }
  }

  override fun fail(response: VisilabsResponse?) {
    Log.e("Favori Özellik", response!!.error!!.message)
  }
}

RelatedDigital.getFavorites(
  context = context,
  actionId = null,
  actionType = Constants.FavoriteAttributeAction,
  visilabsCallback = callback)

Java

Code Block
languagejava
VisilabsCallback callback = new VisilabsCallback() {
  @Override
  public void success(VisilabsResponse response) {
    try {
      FavsResponse favsResponse = new Gson().fromJson(response.getRawResponse(), FavsResponse.class);
      String favBrands = favsResponse.getFavoriteAttributeAction().get(0).getActiondata().getFavorites().getBrand()[0];
      Log.i("Favs 1.Brand", favBrands); 
    } catch(Exception e) {
      Log.e("Favori Özellik", e.getMessage());
    }     
  }

  @Override
  public void fail(VisilabsResponse response) {
    Log.e("Favori Özellik", response.getError().getMessage);
  }
};

RelatedDigital.getFavorites(
  context,
  null,
  Constants.FavoriteAttributeAction,
  callback);

Story Manager

Uygulamanızın layout unda dilediğiniz bir alana StoryRecyclerView ı yerleştiriniz.

Code Block
languagexml
<com.relateddigital.relateddigital_android.inapp.story.StoryRecyclerView
  android:id="@+id/story_recycler_view"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" />

StoryItemClickListener tanımlayarak her bir story’e tıklandığında yapmak istediğiniz yönlendirme veya alınacak aksiyonu tanımlayınız.

Ardından StoryRecyclerView ın setStoryAction veya setStoryActionId methodunu çağırarak storyItemClickListenerobjesini methoda ekleyiniz.

Kotlin

Code Block
languagekotlin
val storyItemClickListener = object : StoryItemClickListener {
  override fun storyItemClicked(storyLink: String?) {
    //Burada storyLink değişkenini kullanarak gerekli yönlendirmeyi yapabilirsiniz
  }
}     
binding.storyRecyclerView.setStoryAction(
  context = context,
  storyItemClickListener = storyItemClickListener)

Java

Code Block
languagejava
StoryItemClickListener storyItemClickListener = new StoryItemClickListener() {
  @Override
  public void storyItemClicked(String storyLink) {
    //Burada storyLink değişkenini kullanarak gerekli yönlendirmeyi yapabilirsiniz         
  }
};   
binding.storyRecyclerView.setStoryAction(
  context,
  storyItemClickListener);

veya

Kotlin

Code Block
languagekotlin
val storyItemClickListener = object : StoryItemClickListener {
  override fun storyItemClicked(storyLink: String?) {
    //Burada storyLink değişkenini kullanarak gerekli yönlendirmeyi yapabilirsiniz
  }
}     
binding.storyRecyclerView.setStoryActionId(
  context = context,
  storyId = storyId,
  storyItemClickListener = storyItemClickListener)

Java

Code Block
languagejava
StoryItemClickListener storyItemClickListener = new StoryItemClickListener() {
  @Override
  public void storyItemClicked(String storyLink) {
    //Burada storyLink değişkenini kullanarak gerekli yönlendirmeyi yapabilirsiniz         
  }
};     
binding.storyRecyclerView.setStoryActionId(
  context,
  storyId,
  storyItemClickListener);

Eğer bir şeylerin ters gitmesi ve story aksiyonun gösterilememesi durumunda layout dosyanıza eklediğiniz StoryRecyclerView dan dolayı ekranda ilgili alanın boş kalmasına karşı önlem almak isterseniz story aksiyonunu aşağıdaki gibi setStoryActionWithRequestCallback veya setStoryActionIdWithRequestCallback metotlarını kullanarak tetikleyebilirsiniz.

Kotlin

Code Block
languagekotlin
val storyItemClickListener = object : StoryItemClickListener {
  override fun storyItemClicked(storyLink: String?) {
    //Burada storyLink değişkenini kullanarak gerekli yönlendirmeyi yapabilirsiniz
  }
}
val storyRequestListener = object : StoryRequestListener {
  override fun onRequestResult(isAvailable: Boolean) {
    if (!isAvailable) {
      //Burada StoryRecyclerView ı kaldırmalısınız
      binding.storyRecyclerView.visibility = View.GONE
    }
  }
}    
binding.storyRecyclerView.setStoryActionWithRequestCallback(
  context = context,
  storyItemClickListener = storyItemClickListener
  storyRequestListener = storyRequestListener)

Java

Code Block
languagejava
StoryItemClickListener storyItemClickListener = new StoryItemClickListener() {
  @Override
  public void storyItemClicked(String storyLink) {
    //Burada storyLink değişkenini kullanarak gerekli yönlendirmeyi yapabilirsiniz         
  }
}; 

StoryRequestListener storyRequestListener = new StoryRequestListener() {
  @Override
  public void onRequestResult(boolean isAvailable) {
    if (!isAvailable) {
      //Burada StoryRecyclerView ı kaldırmalısınız
      binding.storyRecyclerView.visibility = View.GONE
    }         
  }
};
   
binding.storyRecyclerView.setStoryActionWithRequestCallback(
  context,
  storyItemClickListener
  storyRequestListener);

setStoryActionIdWithRequestCallback

Kotlin

Code Block
languagekotlin
val storyItemClickListener = object : StoryItemClickListener {
  override fun storyItemClicked(storyLink: String?) {
    //Burada storyLink değişkenini kullanarak gerekli yönlendirmeyi yapabilirsiniz
  }
}
val storyRequestListener = object : StoryRequestListener {
  override fun onRequestResult(isAvailable: Boolean) {
    if (!isAvailable) {
      //Burada StoryRecyclerView ı kaldırmalısınız
      binding.storyRecyclerView.visibility = View.GONE
    }
  }
}    
binding.storyRecyclerView.setStoryActionIdWithRequestCallback(
  context = context,
  storyId = storyId,
  storyItemClickListener = storyItemClickListener
  storyRequestListener = storyRequestListener)

Java

Code Block
languagejava
StoryItemClickListener storyItemClickListener = new StoryItemClickListener() {
  @Override
  public void storyItemClicked(String storyLink) {
    //Burada storyLink değişkenini kullanarak gerekli yönlendirmeyi yapabilirsiniz         
  }
}; 

StoryRequestListener storyRequestListener = new StoryRequestListener() {
  @Override
  public void onRequestResult(boolean isAvailable) {
    if (!isAvailable) {
      //Burada StoryRecyclerView ı kaldırmalısınız
      binding.storyRecyclerView.visibility = View.GONE
    }         
  }
};
   
binding.storyRecyclerView.setStoryActionIdWithRequestCallback(
  context,
  storyId,
  storyItemClickListener
  storyRequestListener);

Öneriler Aksiyonu

Öneriler aksiyonunu uygulamanızda aşağıdaki gibi tetikleyebilirsiniz. 

Kotlin

Code Block
languagekotlin
val callback: VisilabsCallback = object : VisilabsCallback {
  override fun success(response: VisilabsResponse?) {
    try {
      // Burada gelen öneriler listesiyle ilgili aksiyonu alabilirsiniz.Örnek:
      val jsonObject = response!!.json
      val groupTitle = jsonObject!!.getString("title")
      val jsonArray = jsonObject.getJSONArray("recommendations")
      for (i in 0 until jsonArray.length()) {
        val currentProductObject = jsonArray.getJSONObject(i)
        val currentProductTitle = currentProductObject.getString("title")
        val currentProductPrice = currentProductObject.getDouble("price")
        val currentProductFreeShipping = currentProductObject.getBoolean("freeshipping")
        val qs = currentProductObject.getString("qs")
        //Continues like this...
      }
    } catch (e: Exception) {
      Log.e("Öneriler", e.message)
    }
  }

  override fun fail(response: VisilabsResponse?) {
    Log.e("Öneriler", response!!.error!!.message)
  }
}

RelatedDigital.getRecommendations(
  context = context,
  zoneId = "zoneIdDeğeri",
  productCode = "ÜrünKoduDeğeri",
  visilabsCallback = callback)

Java

Code Block
languagejava
VisilabsCallback callback = new VisilabsCallback() {
  @Override
  public void success(VisilabsResponse response) {
    try {
      // Burada gelen öneriler listesiyle ilgili aksiyonu alabilirsiniz.Örnek:
      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");
         //Bu şekilde devam eder...
      }
    } catch(Exception e) {
      Log.e("Öneriler", e.getMessage());
    }    
  }

  @Override
  public void fail(VisilabsResponse response) {
    Log.e("Öneriler", response.getError().getMessage());
  }
};

RelatedDigital.getRecommendations(
  context,
  "zoneIdDeğeri",
  "ÜrünKoduDeğeri",
  callback);


Ayrıca, filtreleri ve ek parametreleri de getRecommendations metodu aracılığıyla kullanabilirsiniz.

Kotlin

Code Block
languagekotlin
val callback: VisilabsCallback = object : VisilabsCallback {
  override fun success(response: VisilabsResponse?) {
    try {
      // Burada gelen öneriler listesiyle ilgili aksiyonu alabilirsiniz.Örnek:
      val jsonObject = response!!.json
      val groupTitle = jsonObject!!.getString("title")
      val jsonArray = jsonObject.getJSONArray("recommendations")
      for (i in 0 until jsonArray.length()) {
        val currentProductObject = jsonArray.getJSONObject(i)
        val currentProductTitle = currentProductObject.getString("title")
        val currentProductPrice = currentProductObject.getDouble("price")
        val currentProductFreeShipping = currentProductObject.getBoolean("freeshipping")
        val qs = currentProductObject.getString("qs")
        //Continues like this...
      }
    } catch (e: Exception) {
      //Continues like this...Log.e("Öneriler", e.message)
    }
  }

  override }fun catch fail(eresponse: ExceptionVisilabsResponse?) {
      Log.e("Öneriler", eresponse!!.error!!.message)
  }
}

val filters = ArrayList<VisilabsTargetFilter>()
val parameters = HashMap<String, String>()
 }
  }

  override fun fail(response: VisilabsResponse?) {
    Log.e("Öneriler", response!!.error!!.message)
  }
}

parameters["OM.extra"] = "Extra Value"
val f1 = VisilabsTargetFilter("attr1", "0", "value1")
filters.add(f1)
val f2 = VisilabsTargetFilter("attr2", "1", "value2")
filters.add(f2)

RelatedDigital.getRecommendations(
  context = context,
  zoneId = "zoneIdDeğeri",
  productCode = "ÜrünKoduDeğeri",
  visilabsCallback = callback)

...

,
  properties = parameters,
  filters = filters)

Java

Code Block
languagekotlinjava
valVisilabsCallback callback: = new VisilabsCallback() = object{
: VisilabsCallback {@Override
  overridepublic funvoid success(VisilabsResponse response: VisilabsResponse?) {
    try {
      // Burada gelen öneriler listesiyle ilgili aksiyonu alabilirsiniz.Örnek:
      valJSONObject jsonObject = response!!.json.getJson();
      valString groupTitle = jsonObject!!.getString("title");
      valJSONArray jsonArray = jsonObject.getJSONArray("recommendations");
      for (int i in= 0; untili < jsonArray.length(); i++) {
         valJSONObject currentProductObject = jsonArray.getJSONObject(i);
        val String currentProductTitle = currentProductObject.getString("title");
         valDouble currentProductPrice = currentProductObject.getDouble("price");
         valBoolean currentProductFreeShipping = currentProductObject.getBoolean("freeshipping");
         valString qs = currentProductObject.getString("qs");
         //ContinuesBu şekilde likedevam thiseder...
      }
    } catch(Exception (e: Exception) {
      Log.e("Öneriler", e.messagegetMessage());
    }    
  }

  @Override
 override public funvoid fail(VisilabsResponse response: VisilabsResponse?) {
    Log.e("Öneriler", response!!.error!!.message).getError().getMessage());
  }
};

valArrayList<VisilabsTargetFilter> filters = new ArrayList<VisilabsTargetFilter>();
HashMap<String, valString> parameters = new HashMap<String, String>();
parameters[.put("OM.extra"], = "Extra Value");
valVisilabsTargetFilter f1 = new VisilabsTargetFilter("attr1", "0", "value1");
filters.add(f1);
valVisilabsTargetFilter f2 = new VisilabsTargetFilter("attr2", "1", "value2");
filters.add(f2);

RelatedDigital.getRecommendations(
  context = context,

 zoneId = "zoneIdDeğeri",
 
productCode = "ÜrünKoduDeğeri",

 visilabsCallback = callback),
  properties = parameters,
  filters = filters);


Öneriler özelliğinin tıklamalarının panele yansıması için, aşağıdaki metot, tıklanan ürünün "qs" değeri ile çağırılmalıdır.

Info

örnek callback metodunda herbir ürün için "qs" parametresinin nasıl elde edilebileceğini görebilirsiniz.

Kotlin

Code Block
languagekotlin
RelatedDigital.trackRecommendationClick(
  context = context,
  qs = qs)

Java

Code Block
languagejava
RelatedDigital.trackRecommendationClick(
  context,
  qs);

Mail Üyelik Formu

RMC panel üzerinden oluşturduğunuz mail üyelik formu aksiyonunu aşağıdaki gibi tetikleyebilirsiniz.

Kotlin

Code Block
languagekotlin
val parameters = HashMap<String, String>()
RelatedDigital.customEvent(
  context = context,
  pageName = "Mail Üyelik",
  properties = parameters,
  parent = activity
)

Java

Code Block
languagejava
HashMap<String, String> parameters = new HashMap<String, String>();
RelatedDigital.customEvent(
  context,
  "Mail Üyelik",

 properties = parameters,
  parent = activity
  );

...

Info

parent parametresi ile ilgili Activity değerini geçtiğinizden emin olunuz.

RMC panelden oluşturduğunuz aksiyonda bir kural tanımladıysanız bu kuralı da parameters ile geçmeniz gerekmektedir. Örnek:

parameters[“type”] = “mail_subs_form”

...

RMC panel üzerinden oluşturduğunuz çarkıfelek aksiyonunu aşağıdaki gibi tetikleyebilirsiniz.

Kotlin

Code Block
languagekotlin
val parameters = HashMap<String, String>()
RelatedDigital.customEvent(
  context = context,
  pageName = "Çarkıfelek",
  properties = parameters,
  parent = activity
  ) = activity
)

Java

Code Block
languagejava
HashMap<String, String> parameters = new HashMap<String, String>();
RelatedDigital.customEvent(
  context,
  "Çarkıfelek",
  parameters,
  activity
);

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

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

 

 

...

RMC panel üzerinden oluşturduğunuz kazı-kazan aksiyonunu aşağıdaki gibi tetikleyebilirsiniz.

Kotlin

Code Block
languagekotlin
val parameters = HashMap<String, String>()
RelatedDigital.customEvent(
  context = context,
  pageName = "Kazı Kazan",
  properties = parameters,
  parent = activity
)

Java

Code Block
languagejava
HashMap<String, String> parameters = new HashMap<String, String>();
RelatedDigital.customEvent(
  context,
  "Kazı Kazan",
  parameters,

 parent = activity
  );

...

Info

parent parametresi ile ilgili Activity değerini geçtiğinizden emin olunuz.

RMC panelden oluşturduğunuz aksiyonda bir kural tanımladıysanız bu kuralı da parameters ile geçmeniz gerekmektedir. Örnek:

parameters[“type”] = “scratch_to_win”

...

RMC panel üzerinden oluşturduğunuz ürüm durum bilgisi aksiyonunu aşağıdaki gibi tetikleyebilirsiniz.

Kotlin

Code Block
languagekotlin
val parameters = HashMap<String, String>()
RelatedDigital.customEvent(
  context = context,
  pageName = "Ürün Durum Bilgisi",
  properties = parameters,
  parent = activity
)

Java

Code Block
languagejava
HashMap<String, String> parameters = new HashMap<String, String>();
RelatedDigital.customEvent(
  context,
  "Ürün Durum Bilgisi",
  parameters,
  activity
);

...

Info

parent parametresi ile ilgili Activity değerini geçtiğinizden emin olunuz.

RMC panelden oluşturduğunuz aksiyonda bir kural tanımladıysanız bu kuralı da parameters ile geçmeniz gerekmektedir. Örnek:

parameters[“type”] = “product_stat_notifier”

...