1414import Foundation
1515import Flutter
1616import mParticle_Apple_SDK
17+ import RoktContracts
1718
1819class RoktEventHandler : NSObject , FlutterStreamHandler {
1920
@@ -61,19 +62,19 @@ class RoktEventHandler: NSObject, FlutterStreamHandler {
6162 MParticle . sharedInstance ( ) . rokt. events ( identifier) { event in
6263 var params : [ String : String ] = [ : ]
6364
64- params [ " event " ] = String ( describing: type ( of: event) ) . replacingOccurrences ( of: " MPRokt " , with: " " ) . replacingOccurrences ( of: " Event " , with: " " )
65+ params [ " event " ] = String ( describing: type ( of: event) ) . replacingOccurrences ( of: " Rokt " , with: " " ) . replacingOccurrences ( of: " Event " , with: " " )
6566 params [ " identifier " ] = identifier
6667
6768 if let placementId = event. roktPlacementId {
6869 params [ " placementId " ] = placementId
6970 }
7071
7172 switch event {
72- case let initCompleteEvent as MPRoktEvent . MPRoktInitComplete :
73+ case let initCompleteEvent as RoktEvent . InitComplete :
7374 params [ " status " ] = initCompleteEvent. success ? " true " : " false "
74- case let openUrlEvent as MPRoktEvent . MPRoktOpenUrl :
75+ case let openUrlEvent as RoktEvent . OpenUrl :
7576 params [ " url " ] = openUrlEvent. url
76- case let cartItemInstantPurchaseEvent as MPRoktEvent . MPRoktCartItemInstantPurchase :
77+ case let cartItemInstantPurchaseEvent as RoktEvent . CartItemInstantPurchase :
7778 params [ " cartItemId " ] = cartItemInstantPurchaseEvent. cartItemId
7879 params [ " catalogItemId " ] = cartItemInstantPurchaseEvent. catalogItemId
7980 params [ " currency " ] = cartItemInstantPurchaseEvent. currency
@@ -82,6 +83,17 @@ class RoktEventHandler: NSObject, FlutterStreamHandler {
8283 params [ " totalPrice " ] = cartItemInstantPurchaseEvent. totalPrice? . stringValue
8384 params [ " quantity " ] = cartItemInstantPurchaseEvent. quantity? . stringValue
8485 params [ " unitPrice " ] = cartItemInstantPurchaseEvent. unitPrice? . stringValue
86+ case let initiatedEvent as RoktEvent . CartItemInstantPurchaseInitiated :
87+ params [ " cartItemId " ] = initiatedEvent. cartItemId
88+ params [ " catalogItemId " ] = initiatedEvent. catalogItemId
89+ case let failureEvent as RoktEvent . CartItemInstantPurchaseFailure :
90+ params [ " cartItemId " ] = failureEvent. cartItemId
91+ params [ " catalogItemId " ] = failureEvent. catalogItemId
92+ params [ " error " ] = failureEvent. error
93+ case let devicePayEvent as RoktEvent . CartItemDevicePay :
94+ params [ " cartItemId " ] = devicePayEvent. cartItemId
95+ params [ " catalogItemId " ] = devicePayEvent. catalogItemId
96+ params [ " paymentProvider " ] = devicePayEvent. paymentProvider
8597 default :
8698 break
8799 }
@@ -99,19 +111,23 @@ class RoktEventHandler: NSObject, FlutterStreamHandler {
99111 }
100112}
101113
102- private extension MPRoktEvent {
114+ private extension RoktEvent {
103115 var roktPlacementId : String ? {
104116 switch self {
105- case let event as MPRoktEvent . MPRoktFirstPositiveEngagement : return event. placementId
106- case let event as MPRoktEvent . MPRoktOfferEngagement : return event. placementId
107- case let event as MPRoktEvent . MPRoktPlacementClosed : return event. placementId
108- case let event as MPRoktEvent . MPRoktPlacementCompleted : return event. placementId
109- case let event as MPRoktEvent . MPRoktPlacementFailure : return event. placementId
110- case let event as MPRoktEvent . MPRoktPlacementInteractive : return event. placementId
111- case let event as MPRoktEvent . MPRoktPlacementReady : return event. placementId
112- case let event as MPRoktEvent . MPRoktPositiveEngagement : return event. placementId
113- case let event as MPRoktEvent . MPRoktOpenUrl : return event. placementId
114- case let event as MPRoktEvent . MPRoktCartItemInstantPurchase : return event. placementId
117+ case let event as RoktEvent . FirstPositiveEngagement : return event. identifier
118+ case let event as RoktEvent . OfferEngagement : return event. identifier
119+ case let event as RoktEvent . PlacementClosed : return event. identifier
120+ case let event as RoktEvent . PlacementCompleted : return event. identifier
121+ case let event as RoktEvent . PlacementFailure : return event. identifier
122+ case let event as RoktEvent . PlacementInteractive : return event. identifier
123+ case let event as RoktEvent . PlacementReady : return event. identifier
124+ case let event as RoktEvent . PositiveEngagement : return event. identifier
125+ case let event as RoktEvent . OpenUrl : return event. identifier
126+ case let event as RoktEvent . CartItemInstantPurchase : return event. identifier
127+ case let event as RoktEvent . CartItemInstantPurchaseInitiated : return event. identifier
128+ case let event as RoktEvent . CartItemInstantPurchaseFailure : return event. identifier
129+ case let event as RoktEvent . InstantPurchaseDismissal : return event. identifier
130+ case let event as RoktEvent . CartItemDevicePay : return event. identifier
115131 default : return nil
116132 }
117133 }
0 commit comments