I have a quick question about swift syntax to implement products info in analytics.
In this document: Product variable - Adobe Experience Platform Mobile SDKs
We only have info about Obective-C implementation.
Can anyone help me on the syntax for Swift? Can the documentation be uptated?
The sample code above is when using Product variable with Merchandising Variable.
The link Arjun provided above shows documentation for a Product variable only.
I get a compile error with
var contextData: [AnyHashable : Any] = [:]
Cannot convert value of type '[AnyHashable : Any]' to expected argument type '[String : String]?'
I change to
var contextData: [String : String] = [:]
Compiled successfully and received the correct information in the hit sent to Analytics.
Can you confirm that is the correct method?
The swift syntax would be as follows:
//create a context data dictionary
// add products, a purchase id, a purchase context data key, and any other data you want to collect.
// Note the special syntax for products
var contextData = ["&&events" : "event1", "&&products" : ";Running Shoes;1;69.95;event1=5.5;eVar1=Merchandising,;Running Socks;10;29.99", "m.purchaseid" : "1234567890", "m.purchase" : "1"]
// send the tracking call - use either a trackAction or TrackState call.
// trackAction example:
// trackState example:
ACPCore.trackState("Order Confirmation", data: contextData)
Thanks for pointing it out, we will update our documentation to point to the correct sample.
AEP SDK Team
SKD is not implemented yet so it will be at least Core 2.3.2 and Analytics 2.1.2
Great! I wanted to make sure I move this question to the correct mobile community. Since you haven't implemented yet, I'm assuming you'll be using V5 of our SDK so I'll move this question to the Adobe Experience Platform SDKs community. You are also welcome to browse the legacy Adobe Experience Cloud Mobile community for answers, just know that there are major differences between the two so be sure to verify any information found in the latter community.
Can you confirm which version of the SDK you are using?