App Inbox Entegrasyonu

İçindekiler


Önsöz


Tüm mobil iletişim kanallarında, uygulama içi kampanyalar ve push bildirimleri kullanıcıya ulaşmada büyük rol oynarlar. App Inbox kampanyalarının en önemli rolü ise bu iletişim kanallarını daha efektif kullanabilmek için uygun altyapı sağlamasıdır.

App Inbox , push bildirimleri veya uygulama içi kampanyalar gibi diğer mobil iletişim kanallarından farklıdır. Hem push bildirimleri hem de uygulama içi kampanyalar bir kere açtığınızda yok olurlar. Bu, onları anında teklifler ve bilgiler için harika kılar. App Inbox kampanyaları ise daha uzun süreli teklifler için kullanıcının kendisine özel teklifleri değerlendirebileceği, istediği an ulaşabileceği bir bildirim merkezi oluşturmanızı sağlar.

Android Entegrasyonu

WebInStats SDK’sı eklenmiş Android uygulamalarınızda AppInbox özelliğini kullanmak için aşağıdaki kod satırını uygulama başlarken bir kere çağırmalısınız.


import webinstats.android_wis.Webinstats;
    Webinstats.enableAppInbox(context);
    // Süresi geçmiş mesajların depolanması için aşağıdaki metodu çağırmalısınız.
    storeExpiredMessage(context);

Androidde Kullanılabilecek Metodlar

Uygulama içinde kullanabileceğiniz App Inbox metodları


import webinstats.android_wis.Webinstats;
import webinstats.android_wis.WisInbox; // Import App Inbox

// Toplam mesaj sayısını verir.
int getMessageCount(Context context); 
// Toplam okunmamış mesaj sayısını verir.
int getUnreadMessageCount(Context context);
// İlgili kategoride bulunan toplam okunmamış mesaj sayısını verir.
int getUnreadMessageCountByCategory(Context context, String category);
// Okunmuş ve okunmamış mesaj sayısı key-value biçiminde json olarak verir.
JSONObject getCounts(Context context);
// İlgili kategorideki okunmuş ve okunmamış mesaj sayısı key-value biçiminde json olarak verir.
JSONObject getCountsByCategory(Context context);
// Tüm mesajları liste olarak verir.
List<WisInboxMessage> getAllMessages(Context context);
// İlgili kategorideki tüm mesajları liste olarak verir.
List<WisInboxMessage> getMessagesByCategory(Context context, String category);
// Mesajı okundu olarak işaretler.
boolean markReadMessage(Context context, String id);
// Id Listesindeki mesajları okundu olarak işaretler.
void markReadMessageByIdlist(Context context, List idlist);
// İlgili kategorideki mesajları okundu olarak işaretler.
boolean markReadMessagesByCategory(Context context, String category);
// Tüm mesajları okundu olarak işaretler.
boolean markReadAllMessages(Context context);
// Mesajı siler.
boolean deleteMessage(Context context,String id);
// Id listesindeki mesajları siler.
void deleteMessagesByIdlist(Context context,List idlist);
// İlgili kategorideki mesajları siler.
void deleteMessagesByCategory(Context context,String category);
// Tüm mesajları siler.
void deleteAllMessages(Context context);
// App Inbox'a yeni bir mesaj eklendiğinde çağırılır. Güncel okunmuş/okunmamış mesaj sayısını verir.
void checkCallback(Context context,WisInboxSetMessageCallback callback);
// Aktif mesajların kategori listesini verir.
List<String>getCategoryList(Context context);
// WebInStats Panelinde tanımlı app inbox kategori listesini verir.
void getCategoryListwithAPI(final Context context, final WisInboxGetCategoryListCallbak catCallback);

// Süresi geçmiş tüm mesajları döndürür.
getAllExpiredMessages(Context context); 
// İlgili kategorinin süresi geçmiş mesajlarını döndürür.
getExpiredMessagesByCategory(Context context, String category);


checkCallback metodu Kullanım Örneği


import webinstats.android_wis.Webinstats;
import webinstats.android_wis.WisInbox;

// Bildirim merkezindeki yeni mesaj sayısını kontrol etmek istediğinizde yerde çağırılmalı
  new WisInbox().checkCallback(getActivity(), new WisInbox.WisInboxSetMessageCallback() {
     @Override
     public void onSuccess(JSONObject object) {
        // code
     }
     @Override
     public void onError() {
       // code 
     }
});

App Inbox içerisinde aynı anda 20 mesaj kayıt edilmektedir. Daha fazla mesaj kaydetmek isterseniz aşağıdaki fonksiyonu kullanabilirsiniz.


import webinstats.android_wis.Webinstats;

   static void setAppInboxHistorySize(Context context,int limit);

iOS Entegrasyonu

WebInStats SDK’sı eklenmiş iOS uygulamalarınızda AppInbox özelliğini kullanmak için aşağıdaki adımları izleyiniz.

İlk olarak App ve Notification Extension targetlarında App Groups özelliğini aktif etmelisiniz ve iki targeta da aynı app grubunu eklemelisiniz. Örneğin ; “group.com.__YOUR_COMPANY_NAME_.inbox”

Screen Shot 2020-02-03 at 04.02.28

App Group’unu hem app’e hem de notification extension’a ekledikten sonra app group isminizi aşağıdaki gibi tanımlamalısınız. ve uygulama içinde app inbox özelliğini kullanabilmek için enableAppInbox metodunu çağırınız.


import iOS_wis
   wiso.setAppGroupName(group_name: "group.com.__YOUR_COMPANY_NAME_.inbox")
   wiso.enableAppInbox()
    // Süresi geçmiş mesajların depolanması için aşağıdaki metodu çağırmalısınız.
  wiso.storeExpiredMessage()

Notification Extension’da bulunan kod satırını 4.parametre app group isminiz olacak şekilde aşağıdaki gibi değiştiriniz.


import iOS_wis
   contentHandler(Webinstats("//wis.webinstats.com","abc-1","0").didReceiveNotificationExtension(request, bestAttemptContent,"__image_url_","group.com.__YOUR_COMPANY_NAME_.inbox"))

iOS’te Kullanılabilecek Metodlar

Uygulama içinde kullanabileceğiniz App Inbox metodları


import iOS_wis;

// Toplam mesaj sayısını verir.
getMessageCount() -> Int
// Toplam okunmamış mesaj sayısını verir.
getUnreadMessageCount() -> Int
// İlgili kategoride bulunan toplam okunmamış mesaj sayısını verir.
getUnreadMessageCountByCategory(category : String) -> Int
// Okunmuş ve okunmamış mesaj sayısı key-value şeklinde verir.
getCounts() -> [String:Int]
// İlgili kategorideki okunmuş ve okunmamış mesaj sayısı key-value şeklinde verir.
getCountsByCategory(category : String) -> [String:Int]
// Tüm mesajları liste olarak verir.
getAllMessages() -> [WisInboxMessage]
// İlgili kategorideki tüm mesajları liste olarak verir.
getMessagesByCategory(category : String) -> [WisInboxMessage]
// Mesajı okundu olarak işaretler.
markReadMessage(id : String)
// Id Listesindeki mesajları okundu olarak işaretler.
markReadMessageByIdlist(idList : [String])
// İlgili kategorideki mesajları okundu olarak işaretler.
markReadMessagesByCategory(category : String)
// Tüm mesajları okundu olarak işaretler.
markReadAllMessages()
// Mesajı siler.
deleteMessage(id : String) -> Bool
// Id listesindeki mesajları siler.
deleteMessagesByIdlist(idList : [String])
// İlgili kategorideki mesajları siler.
deleteMessagesByCategory(category : String)
// Tüm mesajları siler.
deleteAllMessages()
// App Inbox'a yeni bir mesaj eklendiğinde çağırılır. Güncel okunmuş/okunmamış mesaj sayısını verir.
checkCallback(inbox_callback : @escaping ([String:Int]) -> Void )
// Aktif mesajların kategori listesini verir.
getCategoryList() -> [String]
// WebInStats Panelinde tanımlı app inbox kategori listesini verir.
getCategoryListwithAPI(category_callback : ([String]) -> Void )

// Süresi geçmiş tüm mesajları döndürür.
getAllExpiredMessages()

// İlgili kategorinin süresi geçmiş mesajlarını döndürür.
getExpiredMessagesByCategory(category : String)

checkCallback metodu Kullanım Örneği


import iOS_wis

// Bildirim merkezindeki yeni mesaj sayısını kontrol etmek istediğinizde yerde çağırılmalı
WisInbox().checkCallback(inbox_callback: newInboxMessage(params:))

// Örnek method
func newInboxMessage(params:[String:Int]) -> Void{
        print("New Inbox Message : ",params)
}

App Inbox içerisinde aynı anda 20 mesaj kayıt edilmektedir. Daha fazla mesaj kaydetmek isterseniz aşağıdaki fonksiyonu kullanabilirsiniz.


import iOS_wis

   wiso.setAppInboxHistorySize(limit: 40)

WebInStats Panelinde App Inbox Kampanya Tanımlama Örnekleri

WebInStats panelinde iki farklı şekilde app inbox kampanyası tanımlayabilirsiniz.
1. Gönderilen push bildirimlerini direk app inboxa kaydedebilirsiniz.

inbox_push_test

2. Kullanıcılara gösterilen kampanyaları app inbox’a kaydedebilir. Ya da kullanıcılara herhangi bir gösterim yapmadan sadece app inbox’a kampanya kaydedebilirsiniz.

inbox_campaign