...
Ü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 | ||
---|---|---|
| ||
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
RDProduct
sınıfı aşağıdaki özelliklere bakar:
...
Completion yönteminde verilen argümanlar için önerilen ürünler mevcutsa, ürün dizisini işlemeniz gerekir.
Code Block | ||
---|---|---|
| ||
VisilabsRelatedDigital.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)") } } } |
...
Code Block | ||
---|---|---|
| ||
var filters = [VisilabsRecommendationFilterRDRecommendationFilter]() let filter = VisilabsRecommendationFilterRDRecommendationFilter(attribute: .PRODUCTNAME, filterType: .like, value: "laptop") filters.append(filter) var properties = [String: String]() properties["key"] = "value" VisilabsRelatedDigital.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)") } } } |
...
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 | ||
---|---|---|
| ||
Visilabs.callAPI()RelatedDigital.trackRecommendationClick(qs: product.qs) |
...