...
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 & İkinci Popup | Yarım Ekran Görsel | Carousel |
Video In-App | ||
Eğer inappler için eklediğiniz linkleri kendiniz yönetmek isterseniz aşağıdaki adımı uygulayabilirsiniz.
...
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.
...
...
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.
...
Geofencing
Uygulamanızda konum hizmetlerini etkinleştirmek için öncelikle aşağıdaki anahtarları Info.plist dosyanıza eklemeniz gerekir.
NSLocationAlwaysAndWhenInUseUsageDescription
NSLocationWhenInUseUsageDescription
...
App Banner
App Banner aksiyonunu kullanmak için öncelikle uygulamanızda istediğiniz bir alanda UIView oluşturup eklemeniz gerekmektedir. Ardından getBannerView metodunu çağırarak bannerları bu UIView içerisinde gösterebilirsiniz. Aşağıda örnek olarak bir UIView oluşturma ve bu UIView içerisinde bannerları göstermeyi bulabilirsiniz.
Code Block | ||
---|---|---|
| ||
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>We need access to your location for better user experience.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>We need access to your location for better user experience.</string> |
Ayrıca bölgeleri izlemek, bölge listesini yenilemek ve push bildirimlerini almak için Info.plist dosyanızda UIBackgroundModes altına aşağıdaki anahtarları eklemeniz gerekir.
Code Block | ||
---|---|---|
| ||
<array>
<string>fetch</string>
<string>location</string>
<string>remote-notification</string>
</array> |
Visilabs SDK'yı başlatırken createAPI yönteminin geofenceEnabled parametresini true olarak ayarlamanız gerekir. Ayrıca maxGeofenceCount değerini 20'den daha düşük bir değerle değiştirebilirsiniz. Apple, herhangi bir uygulamanın aynı anda 20'den fazla bölgeyi izlemesini engeller. Visilabs tüm bu yuvaları kullanabilir.
Code Block | ||
---|---|---|
| ||
import VisilabsIOS func application(_ application: UIApplication, didFinishLaunchingWithOptionslet bannerView = UIView() bannerView.translatesAutoresizingMaskIntoConstraints = false self.view.addSubview(bannerView) NSLayoutConstraint.activate([bannerView.topAnchor.constraint(equalTo: self.view.topAnchor,constant: 80), bannerView.heightAnchor.constraint(equalToConstant: 80), bannerView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor), launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { bannerView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor)]) bannerView.backgroundColor = .black var props Visilabs.createAPI(organizationId: "YOUR_ORGANIZATION_ID", profileId: "YOUR_PROFILE_ID"= [String:String]() props["OM.inapptype"] = "banner_carousel" , dataSource: "YOUR_DATASOURCE", inAppNotificationsEnabled: false, channel: "IOS" Visilabs.getBannerView(properties: props) { banner in if let banner = banner { banner.delegate = self banner.translatesAutoresizingMaskIntoConstraints = false bannerView.addSubview(banner) , requestTimeoutInSeconds: 30, geofenceEnabled: true, maxGeofenceCount: 20) NSLayoutConstraint.activate([banner.topAnchor.constraint(equalTo: bannerView.topAnchor), banner.bottomAnchor.constraint(equalTo: bannerView.bottomAnchor), banner.leadingAnchor.constraint(equalTo: bannerView.leadingAnchor), return true } banner.trailingAnchor.constraint(equalTo: bannerView.trailingAnchor)]) } } |
Dilerseniz properties parametresi ile ekstra query parametreleri gönderebilirsiniz. Eğer kullanmak istemezseniz properties parametresini properties: [String:String] olarak değiştirebilirsiniz.
Kullanıcılarınız bannera click işlemini gerçekleştirdiğinde deeplinklerin sizin tarafınızdan handle edilip yönlendirme yapılması gerekmektedir. Bunun için ilgili class’a BannerDelegate’i eklemelisiniz.
Code Block |
---|
class ViewController: UIViewController, BannerDelegate |
Ardından aşağıdaki fonksiyonu ekleyerek kendinize göre düzenleyebilirsiniz.
Code Block |
---|
func bannerItemClickListener(url: String) { print(url) } |
Ü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.
...