In App Message
Uygulama içi mesajlar (in-app messages), mobil uygulamanızda doğrudan etkin oldukları zaman kullanıcılarınıza giden bildirimlerdir. Birkaç farklı isimle adlandırılabilirler: uygulama içi mesajlar, uygulama içi bildirimler ve uygulama içi mesajlaşma. Bunlar, push bildirimler, e-posta ve SMS gibi diğer mesajlaşma türlerini içeren genel bir mobil mesajlaşma stratejisinin hayati bir bileşenidir.
Uygulama içi iletileri göstermek ve RMC nesnesini başlatmak için aşağıdaki yöntemi kullanın:
Visilabs.CreateAPI("OrganizasyonID", "SiteID", "http://lgr.visilabs.net", "DataSource", "http://rt.visilabs.net" , "Android" , getApplicationContext(), "http://s.visilabs.net/json", "http://s.visilabs.net/actjson", requestTimeout);
Tüm customEvent() çağrılarına gerekli getActivity() parametresini ekleyin:
HashMap<String,String> parameters = new HashMap<String, String>(); parameters.put("OM.exVisitorID", "test@euromsg.com"); parameters.put("OM.sys.AppID", "visilabs-login"); // Visilabs.CallAPI().customEvent("android-visilabs", parameters, getActivity());
InApp’lerde bulunan deeplinklerin callback edilmesi:
Bu özelliği kullanabilmek için yapmanız gereken customEvent() methoduyla InApp’i çağırmadan önce aşağıdaki gibi callback methodunu set etmelisiniz:
InAppButtonInterface buttonCallback = new InAppButtonInterface() { @Override public void onPress(String link) { //Write your code here for the button click } }; Visilabs.CallAPI().setInAppButtonInterface(buttonCallback);
Ardından customEvent() metodunu çağırabilirsiniz.
InApp’lerde Custom Font kullanımı
InApp’lerde custom font kullanımı için ilk olarak res klasörü altında font folder'ı oluşturun.
Oluşturduğunuz klasörün içerisine istediğiniz fontları ekleyebilirsiniz.
Son olarak arayüzden uzantısız bir şekilde kullanmak istediğiniz fontun adını girin.
12 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 | Yarım Ekran Görsel | Carousel |
Video In-App | ||
1-10 Puanlama NPS - Inline
InlineNpsWithNumbersView
'ı projenizde tercih ettiğiniz bir layout dosyasına eklemelisiniz.
Örnek kullanım:
?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 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.
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.
@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(); } }
Not: getVisilabsCallback() metodu için aşağıdaki iki kod bloğundan birisini kullanabilirsiniz.
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) { Log.e("Error", t.getMessage()); } }; }
veya
private VisilabsFavsRequestCallback getVisilabsCallback() { return new VisilabsFavsRequestCallback() { @Override public void success(FavsResponse message, String url) { Log.i(LOG_TAG, "Success Request : " + url); //Do your work here by using message, e.g. /* List<FavoriteAttributeAction> favsActions = message.getFavoriteAttributeAction(); for (int i = 0; i < favsActions.size() ; i++) { String actionType = favsActions.get(i).getActiontype(); Log.i(LOG_TAG, "action type " + i+1 + " : " + actionType); Actiondata actionData = favsActions.get(i).getActiondata(); for (int j = 0; j < favsActions.size() ; j++) { String[] attributes = actionData.getAttributes(); Favorites favorites = actionData.getFavorites(); //goes on... } } */ } @Override public void fail(Throwable t, String url) { Log.e(LOG_TAG, "Fail Request : " + url); Log.e(LOG_TAG, "Fail Request Message : " + t.getMessage()); } }; }
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.
<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 setStoryAction
methodunu çağrarak storyItemClickListener
objesini methoda ekleyiniz.
VisilabsRecyclerView visilabsRecyclerView = 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.
visilabsRecyclerView.setStoryActionId(getApplicationContext(), "250", storyItemClickListener);
Panelde aktif story looking banner veya story olduğu sürece uygulamanızda gözükecektir.
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;
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;
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;
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.
Kulakçık
RMC panelden Kulakçık aksiyonu oluşturduktan sonra her customEvent çağırdığınız zaman Kulakçık olup olmadığı kontrol edilir ardından Kulakçık gösterilir. customEvent parametresinde Activity’i alan methodu çağırmanız gerekmektedir. Örnek kod ve görsel;
customEvent(String pageName, HashMap<String, String> properties, Activity parent)