Versions Compared

Key

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

...

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.

...

languageswift

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.

...

languageswift

...

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
languageswift
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
languageswift
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
languageswift
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.

...

languageswift

...

 

...

 

...

Ayrıca Target Aksiyonu ID’sine göre de istediğiniz bir Hikaye Aksiyonunu çağırabilirsiniz.

Code Block
languageswift
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
languageswift
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
languageswift
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
languageswift
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

Image Added

Image Added

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.

...