Analytics - How to avoid common mistakes in iOS
['Benoit Pasquier']
Benoit Pasquier - Swift, Data and more
// 1 - define protocol for any tracker protocol TrackingProtocol { func payload ( for event : Event , params : [ String : Any ]) -> [ String : Any ]? } // 3 - test payload func testProductPayload () { // given a valid payload with custom dimension let payload = tracker . addToBag , params : [ "product" : Product ( name : "Nike" , price : 100 )]) // expecting matching fields in final payload let expectedPayload = [ "product_name" : "Nike" , "price" : 100.0 ] XCTAssertNotNil ( payload ) XCTAssertEqual ( payload , expectedPayload ) } }