Versions Compared

Key

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

...

Code Block
languageswift
import VisilabsIOS

func application(_ application: UIApplication, didFinishLaunchingWithOptions 
        launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        Visilabs.createAPI(organizationId: "YOUR_ORGANIZATION_ID", profileId: "YOUR_PROFILE_ID"
        , dataSource: "YOUR_DATASOURCE", inAppNotificationsEnabled: false, channel: "IOS"
        , requestTimeoutInSeconds: 30, geofenceEnabled: true, maxGeofenceCount: 20)
        return true
    }                                        

Recommendation

Ürün önerileri, SDK’nın recommend metoduyla elde edilir. Ürün önerilerini almak için zoneId, productCode ve complete olan 3 zorunlu argümanı iletmelisiniz.

completion parametresi, bir VisilabsRecommendationResponse örneğini girdi olarak alan ve hiçbir şey döndürmeyen bir kapatma ifadesidir. VisilabsRecommendationResponse'un yapısı aşağıda gösterilmiştir:

Code Block
languageswift
public class VisilabsRecommendationResponse {
    public var products: [VisilabsProduct]
    public var error: VisilabsError?
    public var widgetTitle: String = ""
    
    internal init(products: [VisilabsProduct], widgetTitle: String = "", error: VisilabsError? = nil) {
        self.products = products
        self.widgetTitle = widgetTitle
        self.error = error
    }
}

VisilabsProduct sınıfı aşağıdaki özelliklere bakar:

...

Property

...

Type

...

code

...

String

...

title

...

String

...

img

...

String

...

dest_url

...

String

...

brand

...

String

...

price

...

Double

...

dprice

...

Double

...

cur

...

String

...

dcur

...

String

...

freeshipping

...

Bool

...

samedayshipping

...

Bool

...

rating

...

Int

...

comment

...

Int

...

discount

...

Double

...

attr1

...

String

...

attr2

...

String

...

attr3

...

String

...

attr4

...

String

...

attr5

...

String

Completion yönteminde verilen argümanlar için önerilen ürünler mevcutsa, ürün dizisini işlemeniz gerekir.

Code Block
languageswift
Visilabs.callAPI().recommend(zoneID: "6", productCode: "pc", filters: []){ response in
    if let error = response.error {
        print(error)
    }else{
        print("Recommended Products")
        for product in response.products{
            print("product code: \(product.code) title: \(product.title)")
        }
    }
}

Recommend metodu için bir dizi filtre de iletebilirsiniz. Örneğin, aşağıdaki uygulama yalnızca başlıkta laptop içeren ürünleri döndürür.

Code Block
languageswift
var filters = [VisilabsRecommendationFilter]()
let filter = VisilabsRecommendationFilter(attribute: .PRODUCTNAME, filterType: .like, value: "laptop")
filters.append(filter)
var properties = [String: String]()
properties["key"] = "value"
Visilabs.callAPI().recommend(zoneID: "6", productCode: "pc", filters: filters, properties: properties){ response in
    if let error = response.error{
        print(error)
    }else{
        print("Widget Title: \(response.widgetTitle)")
        print("Recommended Products")
        for product in response.products{
            print("product code: \(product.code) title: \(product.title)")
        }
    }
}

Attribute

...

Fonksiyon

...

Açıklama

...

.PRODUCTCODE

...

Ürün koduna göre filtreleme yapar

...

.PRODUCTNAME

...

Ürün ismine göre filtreleme yapar

...

.COLOR

...

Ürün rengine göre filtreleme yapar

...

.AGEGROUP

...

Ürün yaş grubuna göre filtreleme yapar

...

.BRAND

...

Ürün markasına göre filtreleme yapar

...

.CATEGORY

...

Ürün kategorisine göre filtreleme yapar

...

.GENDER

...

Ürün cinsiyetine göre filtreleme yapar

...

.MATERIAL

...

Ürün material kolonuna göre filtreleme yapar

...

.ATTRIBUTE1

...

Ürün attribute1 kolonuna göre filtreleme yapar

...

.ATTRIBUTE2

...

Ürün attribute2 kolonuna göre filtreleme yapar

...

.ATTRIBUTE3

...

Ürün attribute3 kolonuna göre filtreleme yapar

...

.ATTRIBUTE4

...

Ürün attribute4 kolonuna göre filtreleme yapar

...

.ATTRIBUTE5

...

Ürün attribute5 kolonuna göre filtreleme yapar

...

.SHIPPINGONSAMEDAY

...

Ürünün aynı gün kargo kolonuna göre filtreler

...

.FREESHIPPING

...

Ürünün ücretsiz kargo durumuna göre filtreler

...

.ISDISCOUNTED

...

Ürün indirim durumuna göre filtreleme yapar

Filter Type

...

Fonksiyon

...

Açıklama

...

.like

...

Verilen değer, seçilen kolonun içerisinde geçiyor mu kontrolü yapar.

...

.notLike

...

Verilen değer, seçilen kolonun içerisinde geçmiyor mu kontrolü yapar.

...

.equals

...

Verilen değer, seçilen kolondaki değere tam eşit mi kontrolü yapar.

...

.notEquals

...

Verilen değer, seçilen kolondaki değere tam eşit değil mi kontrolü yapar.

...

.greaterThan

...

Verilen değer, seçilen kolondaki değerden daha büyük mü kontrolü yapar.

...

.lessThan

...

Verilen değer, seçilen kolondaki değerden daha küçük mü kontrolü yapar.

...

.greaterOrEquals

...

Verilen değer, seçilen kolondaki değerden daha büyük veya eşit mi kontrolü yapar.

...

.lessOrEquals

...

Verilen değer, seçilen kolondaki değerden daha küçük veya eşit mi kontrolü yapar.

Recommendation Click Raporları

Widgetta bulunan ürünlere tıklama sonrası panelde raporları görüntüleyebilmek için aşağıdaki kodu recommend metodu içerisinde çağırmanız gerekmektedir.

Code Block
languageswift
Visilabs.callAPI().trackRecommendationClick(qs: product.qs)