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-visilab", parameters, getActivity());
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 |
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.
public VisilabsCallback getVisilabsCallback() { return new VisilabsCallback() { @Override public void success(VisilabsResponse response) { try { FavsResponse favsResponse = new Gson().fromJson(response.getRawResponse(), FavsResponse.class); String favBrands = favsResponse.getFavoriteAttributeAction()[0].getActiondata().getFavorites().getBrand()[0]; Log.i("Favs 1.Brand", favBrands); } catch (Exception ex) { Log.e("Error", ex.getMessage(), ex); } } @Override public void fail(VisilabsResponse response) { Log.d("Error", response.getRawResponse()); } }; }
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()); } }; }
Hikaye Aksiyonu
Story Looking 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.
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.
Callback fonksiyonunun spesifikasyonu şöyledir:
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.
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:
VisilabsCallback callback = new VisilabsCallback() { @Override 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()); } };
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)