Versions Compared

Key

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

...

Ü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
    }
}

VisilabsProductRDProduct 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
languageswift
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
languageswift
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
languageswift
Visilabs.callAPI()RelatedDigital.trackRecommendationClick(qs: product.qs)

...