...
Code Block |
---|
<key>UIAppFonts</key> <array> <string>FONT_NAME</string> </array> |
Favori Özellikler Aksiyonu
RMC panelindeki https://intelligence.relateddigital.com/#Target/TargetingAction/TAList/ bölümünden tanımladığınız Favori Özellik Aksiyonu türündeki Target Aksiyonu favori özelliklerine aşağıdaki gibi mobil uygulama üzerinden erişebilirsiniz.
...
language | swift |
---|
1-10 Puanlama NPS - Inline
1-10 Puanlama NPS - Inline özelliğini kullanmak için, [String: String] özelliğinde npsItemClicked
yöntemini içeren bir delegate
parametresi ve isteğe bağlı bir VisilabsNpsWithNumbersContainerView
nesnesi alan completionHandler
getNpsWithNumbersView
yöntemini çağırabilirsiniz.
delegate
parametresi, buton tıklamalarını işlemek için kullanılır ve kullanıcı butona tıkladığında tetiklenen npsItemClicked
adlı bir yöntem içerir.
completionHandler
ise yalnızca belirli ölçütlerle eşleşen bir eylem varsa döndürülen isteğe bağlı olarak VisilabsNpsWithNumbersContainerView
nesnesini içerir. Eşleşen bir eylem yoksa, completionHandler
sıfır döner.
Code Block |
---|
Visilabs.callAPI().getFavoriteAttributeActions { (response) in if let error = response.errorgetNpsWithNumbersView(properties: props, delegate: self){ npsView in DispatchQueue.main.async { print(error)if let npsView = npsView }{ else { if let favoriteBrandsself.npsView = response.favorites[.brand] {npsView self.npsView for= brandnpsView in favoriteBrands { self.view.addSubview(npsView) print(brand) npsView.translatesAutoresizingMaskIntoConstraints = false } } npsView.topAnchor.constraint(equalTo: self.npsWithNumbersButton.bottomAnchor, constant: -50).isActive = true if let favoriteCategories = response.favorites[.category] { npsView.widthAnchor.constraint(equalTo: self.view.saferAreaLayoutGuide.widthAnchor).isActive = true for category in favoriteCategories { npsView.heightAnchor.constraint(equalToConstant: 550).isActive = true } else { print(category) print("There is no nps action } matching your criteria.") } } } |
Target Aksiyonun ID’sini belirterekte favori özellik aksiyonunun özelliklerine erişebilirsiniz.
...
language | swift |
---|
...
Code Block |
---|
extension NpsViewController: VisilabsNpsWithNumbersDelegate { func npsItemClicked(npsLink: String?) { |
...
print(npsLink) } |
...
} |
Favori Özellikler Aksiyonu
RMC panelindeki https://intelligence.relateddigital.com/#Target/TargetingAction/TAList/ bölümünden tanımladığınız Favori Özellik Aksiyonu türündeki Target Aksiyonu favori özelliklerine aşağıdaki gibi mobil uygulama üzerinden erişebilirsiniz.
Code Block | ||
---|---|---|
| ||
Visilabs.callAPI().getFavoriteAttributeActions { (response) in if |
...
let |
...
error |
...
= |
...
response.error { print(error) } else { |
...
if let favoriteBrands = |
...
response.favorites[.brand] { |
...
for brand in favoriteBrands { |
...
|
...
|
...
|
...
|
...
|
...
print(brand) |
...
|
...
|
...
|
...
|
...
} } |
...
if let favoriteCategories = |
...
response.favorites[.category] { |
...
for |
...
Favori Özellikler Aksiyonu enum olarak aşağıdaki değerleri döner.
Code Block | ||
---|---|---|
| ||
public enum VisilabsFavoriteAttribute: String category in favoriteCategories { case ageGroup case attr1 caseprint(category) attr2 case attr3 case attr4} case attr5 } case attr6 case attr7 case attr8} } |
Target Aksiyonun ID’sini belirterekte favori özellik aksiyonunun özelliklerine erişebilirsiniz.
...
Code Block | ||
---|---|---|
| ||
Visilabs.callAPI().getFavoriteAttributeActions(actionId: 188) { (response) in |
...
if |
...
let error = response.error { |
...
|
...
|
...
|
...
print(error) |
...
|
...
} else { |
...
|
...
|
...
if |
...
let favoriteBrands = response.favorites[.brand] { |
...
|
...
|
...
|
...
|
...
Story Manager
Story Banner ve Story Aksiyonu
Hikaye Aksiyonu, uygulamanız içerisinde iOS cihazlarda görüntülenebilecek “Story” widgetları eklemenize olanak sağlar. getStoryView metodu, UIView altsınıfı olan VisilabsStoryHomeView örneğini döndürür.
...
language | swift |
---|
...
|
...
|
...
Ayrıca Target Aksiyonu ID’sine göre de istediğiniz bir Hikaye Aksiyonunu çağırabilirsiniz.
Code Block | ||
---|---|---|
| ||
let storyView = Visilabs.callAPI().getStoryView(actionId: 67)
view.addSubview(storyView) |
Tıklanabilir bir URL eklerseniz, bunu tarayıcıda açmak için framework veya direkt deeplink ile yönetebilirsiniz. Ancak kendi tarafınızda yönetebilmek için VisilabsStoryURLDelegate'e uyan classlara aşağıdaki kodu eklemeniz gereklidir.
...
for brand in favoriteBrands { |
...
|
...
|
...
|
...
print(brand) |
...
...
|
...
} |
...
|
...
Bu eklenti sonrasında urlDelegate self ayarlaması yapın.
Code Block |
---|
let storyView = Visilabs.callAPI().getStoryView(actionId: 67, urlDelegate: self)
view.addSubview(storyHomeView) |
VisilabsStoryURLDelegate eklenmesi sonrasında tıklanabilir URL SDK tarafından işlenmez!
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.
...
Ç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.
...
Ç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.
...
Rakamlarla Anket - Inline
Rakamlarla Anket - Inline’ı görüntülemek için, [String: String] türünde bir properties parametresi, npsItemClicked
yöntemini içeren bir delegate
parametresi ve isteğe bağlı bir VisilabsNpsWithNumbersContainerView
nesnesi alan bir completionHandler
getNpsWithNumbersView
yöntemini çağırabilirsiniz.
delegate
parametresi, buton tıklama olayını işlemek için kullanılır ve kullanıcı bir butona dokunduğunda tetiklenen npsItemClicked
adlı bir yöntem içerir.
completionHandler
, yalnızca belirli ölçütlerle eşleşen bir eylem varsa döndürülen isteğe bağlı bir VisilabsNpsWithNumbersContainerView
nesnesi alır. Eşleşen bir eylem yoksa, completionHandler
sıfır döndürür.
...
}
if let favoriteCategories = response.favorites[.category] {
for category in favoriteCategories {
print(category)
}
}
}
} |
Favori Özellikler Aksiyonu enum olarak aşağıdaki değerleri döner.
Code Block | ||
---|---|---|
| ||
public enum VisilabsFavoriteAttribute: String {
case ageGroup
case attr1
case attr2
case attr3
case attr4
case attr5
case attr6
case attr7
case attr8
case attr9
case attr10
case brand
case category
case color
case gender
case material
case title
} |
Story Manager
Story Banner ve Story Aksiyonu
Hikaye Aksiyonu, uygulamanız içerisinde iOS cihazlarda görüntülenebilecek “Story” widgetları eklemenize olanak sağlar. getStoryView metodu, UIView altsınıfı olan VisilabsStoryHomeView örneğini döndürür.
Code Block | ||
---|---|---|
| ||
let storyView = Visilabs.callAPI().getStoryView()
view.addSubview(storyView) |
Ayrıca Target Aksiyonu ID’sine göre de istediğiniz bir Hikaye Aksiyonunu çağırabilirsiniz.
Code Block | ||
---|---|---|
| ||
let storyView = Visilabs.callAPI().getStoryView(actionId: 67)
view.addSubview(storyView) |
Tıklanabilir bir URL eklerseniz, bunu tarayıcıda açmak için framework veya direkt deeplink ile yönetebilirsiniz. Ancak kendi tarafınızda yönetebilmek için VisilabsStoryURLDelegate'e uyan classlara aşağıdaki kodu eklemeniz gereklidir.
Code Block |
---|
extension StoryViewController: VisilabsStoryURLDelegate { func urlClicked(_ url: URL) { self.view.addSubview(npsView)//TO DO } } |
Bu eklenti sonrasında urlDelegate self ayarlaması yapın.
Code Block |
---|
let npsView.translatesAutoresizingMaskIntoConstraints = false npsView.topAnchor.constraint(equalTo: self.npsWithNumbersButton.bottomAnchor, constant: -50).isActive = true npsView.widthAnchor.constraint(equalTo: self.view.saferAreaLayoutGuide.widthAnchor).isActive = true npsView.heightAnchor.constraint(equalToConstant: 550).isActive = true } else { print("There is no nps action matching your criteria.") } } } |
Code Block |
extension NpsViewController: VisilabsNpsWithNumbersDelegate { func npsItemClicked(npsLink: String?) { print(npsLink) } }storyView = Visilabs.callAPI().getStoryView(actionId: 67, urlDelegate: self) view.addSubview(storyHomeView) |
VisilabsStoryURLDelegate eklenmesi sonrasında tıklanabilir URL SDK tarafından işlenmez!
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.
...
Ç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.
Ç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.
...
Ü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.
...