Manos Chorianopoulos

add firebase events v2

...@@ -236,7 +236,7 @@ var timer2: DispatchSourceTimer? ...@@ -236,7 +236,7 @@ var timer2: DispatchSourceTimer?
236 236
237 if (swiftApi().getTrackingStepsEnabled() == false) { 237 if (swiftApi().getTrackingStepsEnabled() == false) {
238 let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel() 238 let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
239 - firebaseEvent._eventName = "lovalty_steps_activation" 239 + firebaseEvent._eventName = "loyalty_steps_activation"
240 firebaseEvent._parameters = nil 240 firebaseEvent._parameters = nil
241 SwiftEventBus.post("firebase", sender: firebaseEvent) 241 SwiftEventBus.post("firebase", sender: firebaseEvent)
242 242
...@@ -253,7 +253,103 @@ var timer2: DispatchSourceTimer? ...@@ -253,7 +253,103 @@ var timer2: DispatchSourceTimer?
253 print("**************** WARPLY Webview Log START *****************") 253 print("**************** WARPLY Webview Log START *****************")
254 print(event) 254 print(event)
255 print("**************** WARPLY Webview Log END *****************") 255 print("**************** WARPLY Webview Log END *****************")
256 +
257 + } else if (eventArray[1] == "loyalty_questionnaire_selected") {
258 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
259 + firebaseEvent._eventName = "loyalty_questionnaire_selected"
260 + firebaseEvent.setParameter = ("completed", "true")
261 + SwiftEventBus.post("firebase", sender: firebaseEvent)
262 +
263 + } else if (eventArray[1] == "loyalty_questionnaire_answer_again") {
264 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
265 + firebaseEvent._eventName = "loyalty_questionnaire_answer_again"
266 + firebaseEvent._parameters = nil
267 + SwiftEventBus.post("firebase", sender: firebaseEvent)
268 +
269 + } else if (eventArray[1] == "loyalty_questionnaire_answers_deleted") {
270 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
271 + firebaseEvent._eventName = "loyalty_questionnaire_answers_deleted"
272 + firebaseEvent._parameters = nil
273 + SwiftEventBus.post("firebase", sender: firebaseEvent)
274 +
275 + } else if (eventArray[1] == "loyalty_questionnaire_later") {
276 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
277 + firebaseEvent._eventName = "loyalty_questionnaire_later"
278 + firebaseEvent.setParameter = ("completed", "false")
279 + SwiftEventBus.post("firebase", sender: firebaseEvent)
280 +
281 + } else if (eventArray[1] == "loyalty_sdk_offer_selected") {
282 + var name: String = ""
283 + if (eventArray.count > 2) {
284 + name = String(eventArray[2])
285 + } else {
286 + name = ""
287 + }
288 +
289 + var type: String = ""
290 + if (eventArray.count > 3) {
291 + type = String(eventArray[3])
292 + } else {
293 + type = ""
294 + }
295 +
296 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
297 + firebaseEvent._eventName = "loyalty_sdk_offer_selected"
298 + firebaseEvent.setParameter = ("name", name)
299 + firebaseEvent.setParameter = ("type", type)
300 + SwiftEventBus.post("firebase", sender: firebaseEvent)
301 +
302 + } else if (eventArray[1] == "loyalty_offer_activated") {
303 + var name: String = ""
304 + if (eventArray.count > 2) {
305 + name = String(eventArray[2])
306 + } else {
307 + name = ""
308 + }
309 +
310 + var type: String = ""
311 + if (eventArray.count > 3) {
312 + type = String(eventArray[3])
313 + } else {
314 + type = ""
315 + }
316 +
317 + var successful: String = ""
318 + if (eventArray.count > 4) {
319 + successful = String(eventArray[4])
320 + } else {
321 + successful = ""
322 + }
323 +
324 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
325 + firebaseEvent._eventName = "loyalty_offer_activated"
326 + firebaseEvent.setParameter = ("name", name)
327 + firebaseEvent.setParameter = ("type", type)
328 + firebaseEvent.setParameter = ("successful", successful)
329 + SwiftEventBus.post("firebase", sender: firebaseEvent)
330 +
331 + } else if (eventArray[1] == "time_spent_on_loyalty_sdk") {
332 + var name: String = ""
333 + if (eventArray.count > 2) {
334 + name = String(eventArray[2])
335 + } else {
336 + name = ""
337 + }
338 +
339 + var seconds: String = ""
340 + if (eventArray.count > 3) {
341 + seconds = String(eventArray[3])
342 + } else {
343 + seconds = ""
344 + }
345 +
346 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
347 + firebaseEvent._eventName = "time_spent_on_loyalty_sdk"
348 + firebaseEvent.setParameter = ("name", name)
349 + firebaseEvent.setParameter = ("seconds", seconds)
350 + SwiftEventBus.post("firebase", sender: firebaseEvent)
256 } 351 }
352 +
257 } 353 }
258 } 354 }
259 } 355 }
......
...@@ -156,14 +156,36 @@ import UIKit ...@@ -156,14 +156,36 @@ import UIKit
156 if (response != nil) { 156 if (response != nil) {
157 DispatchQueue.main.async { 157 DispatchQueue.main.async {
158 if (response?.getStatus == 1) { 158 if (response?.getStatus == 1) {
159 +
160 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
161 + firebaseEvent._eventName = "loyalty_offer_activated"
162 + firebaseEvent.setParameter = ("name", (self.ccms?._title ?? ""))
163 + firebaseEvent.setParameter = ("type", "gift")
164 + firebaseEvent.setParameter = ("successful", "true")
165 + SwiftEventBus.post("firebase", sender: firebaseEvent)
166 +
159 self.showDialog("Το αίτημά σου ολοκληρώθηκε επιτυχώς!","Θα ενημερωθείς άμεσα για την ενεργοποίηση του πακέτου σου.") 167 self.showDialog("Το αίτημά σου ολοκληρώθηκε επιτυχώς!","Θα ενημερωθείς άμεσα για την ενεργοποίηση του πακέτου σου.")
160 // self.postEventRequest() 168 // self.postEventRequest()
161 169
162 } else { 170 } else {
171 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
172 + firebaseEvent._eventName = "loyalty_offer_activated"
173 + firebaseEvent.setParameter = ("name", (self.ccms?._title ?? ""))
174 + firebaseEvent.setParameter = ("type", "gift")
175 + firebaseEvent.setParameter = ("successful", "false")
176 + SwiftEventBus.post("firebase", sender: firebaseEvent)
177 +
163 self.showDialog("Αποτυχία","Κάτι πήγε στραβά") 178 self.showDialog("Αποτυχία","Κάτι πήγε στραβά")
164 } 179 }
165 } 180 }
166 } else { 181 } else {
182 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
183 + firebaseEvent._eventName = "loyalty_offer_activated"
184 + firebaseEvent.setParameter = ("name", (self.ccms?._title ?? ""))
185 + firebaseEvent.setParameter = ("type", "gift")
186 + firebaseEvent.setParameter = ("successful", "false")
187 + SwiftEventBus.post("firebase", sender: firebaseEvent)
188 +
167 self.showDialog("Αποτυχία","Κάτι πήγε στραβά") 189 self.showDialog("Αποτυχία","Κάτι πήγε στραβά")
168 } 190 }
169 } 191 }
......
...@@ -151,6 +151,13 @@ import SwiftEventBus ...@@ -151,6 +151,13 @@ import SwiftEventBus
151 if (response != nil) { 151 if (response != nil) {
152 DispatchQueue.main.async { 152 DispatchQueue.main.async {
153 if (response?.getStatus == 1) { 153 if (response?.getStatus == 1) {
154 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
155 + firebaseEvent._eventName = "loyalty_offer_activated"
156 + firebaseEvent.setParameter = ("name", (self.couponset?.name ?? ""))
157 + firebaseEvent.setParameter = ("type", "coupon")
158 + firebaseEvent.setParameter = ("successful", "true")
159 + SwiftEventBus.post("firebase", sender: firebaseEvent)
160 +
154 self.showSuccessDialog("Επιτυχής ενεργοποίηση","Το κουπόνι σου έχει ενεργοποιηθεί στην ενότητα My Rewards.") 161 self.showSuccessDialog("Επιτυχής ενεργοποίηση","Το κουπόνι σου έχει ενεργοποιηθεί στην ενότητα My Rewards.")
155 162
156 swiftApi().getCouponsAsync(getCouponsCallback) 163 swiftApi().getCouponsAsync(getCouponsCallback)
...@@ -174,15 +181,46 @@ import SwiftEventBus ...@@ -174,15 +181,46 @@ import SwiftEventBus
174 } else { 181 } else {
175 } 182 }
176 } 183 }
184 +
177 } else if (response?.getStatus == 3) { 185 } else if (response?.getStatus == 3) {
186 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
187 + firebaseEvent._eventName = "loyalty_offer_activated"
188 + firebaseEvent.setParameter = ("name", (self.couponset?.name ?? ""))
189 + firebaseEvent.setParameter = ("type", "coupon")
190 + firebaseEvent.setParameter = ("successful", "false")
191 + SwiftEventBus.post("firebase", sender: firebaseEvent)
192 +
178 self.showDialog("Αποτυχία","Το κουπόνι δεν είναι διαθέσιμο για αγορά") 193 self.showDialog("Αποτυχία","Το κουπόνι δεν είναι διαθέσιμο για αγορά")
194 +
179 } else if (response?.getStatus == 5) { 195 } else if (response?.getStatus == 5) {
196 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
197 + firebaseEvent._eventName = "loyalty_offer_activated"
198 + firebaseEvent.setParameter = ("name", (self.couponset?.name ?? ""))
199 + firebaseEvent.setParameter = ("type", "coupon")
200 + firebaseEvent.setParameter = ("successful", "false")
201 + SwiftEventBus.post("firebase", sender: firebaseEvent)
202 +
180 self.showDialog("Αποτυχία","Δεν έχεις αρκετούς πόντους") 203 self.showDialog("Αποτυχία","Δεν έχεις αρκετούς πόντους")
204 +
181 } else { 205 } else {
206 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
207 + firebaseEvent._eventName = "loyalty_offer_activated"
208 + firebaseEvent.setParameter = ("name", (self.couponset?.name ?? ""))
209 + firebaseEvent.setParameter = ("type", "coupon")
210 + firebaseEvent.setParameter = ("successful", "false")
211 + SwiftEventBus.post("firebase", sender: firebaseEvent)
212 +
182 self.showDialog("Αποτυχία","Κάτι πήγε στραβά") 213 self.showDialog("Αποτυχία","Κάτι πήγε στραβά")
183 } 214 }
184 } 215 }
185 } else { 216 } else {
217 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
218 + firebaseEvent._eventName = "loyalty_offer_activated"
219 + firebaseEvent.setParameter = ("name", (self.couponset?.name ?? ""))
220 + firebaseEvent.setParameter = ("type", "coupon")
221 + firebaseEvent.setParameter = ("successful", "false")
222 + SwiftEventBus.post("firebase", sender: firebaseEvent)
223 +
186 self.showDialog("Αποτυχία","Κάτι πήγε στραβά") 224 self.showDialog("Αποτυχία","Κάτι πήγε στραβά")
187 } 225 }
188 } 226 }
......
...@@ -18,6 +18,8 @@ import SwiftEventBus ...@@ -18,6 +18,8 @@ import SwiftEventBus
18 public var ccmsList:Array<swiftApi.LoyaltyContextualOfferModel> = swiftApi().getCCMSLoyaltyCampaigns() 18 public var ccmsList:Array<swiftApi.LoyaltyContextualOfferModel> = swiftApi().getCCMSLoyaltyCampaigns()
19 public var loyaltyList:Array<swiftApi.CampaignItemModel> = swiftApi().mergeGFYCCMSLoyaltyCampaigns(campaigns: swiftApi().getCCMSLoyaltyCampaigns()) 19 public var loyaltyList:Array<swiftApi.CampaignItemModel> = swiftApi().mergeGFYCCMSLoyaltyCampaigns(campaigns: swiftApi().getCCMSLoyaltyCampaigns())
20 20
21 + var timerGFY: DispatchSourceTimer?
22 + var seconds: Int = 0
21 23
22 public override func viewDidLoad() { 24 public override func viewDidLoad() {
23 super.viewDidLoad() 25 super.viewDidLoad()
...@@ -68,6 +70,14 @@ import SwiftEventBus ...@@ -68,6 +70,14 @@ import SwiftEventBus
68 super.viewWillAppear(animated) 70 super.viewWillAppear(animated)
69 71
70 self.refreshData() 72 self.refreshData()
73 +
74 + self.startTimer()
75 + }
76 +
77 + public override func viewWillDisappear(_ animated: Bool) {
78 + super.viewWillDisappear(animated)
79 +
80 + self.stopTimer()
71 } 81 }
72 82
73 // MARK: - Functions 83 // MARK: - Functions
...@@ -108,6 +118,39 @@ import SwiftEventBus ...@@ -108,6 +118,39 @@ import SwiftEventBus
108 self.tableView.reloadData() 118 self.tableView.reloadData()
109 } 119 }
110 120
121 + func startTimer() {
122 + print("========= GFY Timer Started! =========")
123 +
124 + let queue = DispatchQueue(label: Bundle.main.bundleIdentifier! + ".gfy.timer")
125 + timerGFY = DispatchSource.makeTimerSource(queue: queue)
126 + timerGFY!.schedule(deadline: .now(), repeating: .seconds(1))
127 + timerGFY!.setEventHandler { [weak self] in
128 + // do whatever stuff you want on the background queue here here
129 + print("========= GFY interval! =========")
130 +
131 + DispatchQueue.main.async {
132 + // update your model objects and/or UI here
133 + self?.seconds = (self?.seconds ?? 0) + 1
134 +
135 + }
136 + }
137 + timerGFY!.resume()
138 + }
139 +
140 + func stopTimer() {
141 + print("========= GFY Timer Stopped! =========")
142 + timerGFY?.cancel()
143 + timerGFY = nil
144 +
145 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
146 + firebaseEvent._eventName = "time_spent_on_loyalty_sdk"
147 + firebaseEvent.setParameter = ("name", "GiftsForYou")
148 + firebaseEvent.setParameter = ("seconds", String(seconds))
149 + SwiftEventBus.post("firebase", sender: firebaseEvent)
150 +
151 + seconds = 0
152 + }
153 +
111 } 154 }
112 155
113 // MARK: - TableView 156 // MARK: - TableView
...@@ -174,6 +217,13 @@ extension GiftsViewController: UITableViewDelegate, UITableViewDataSource{ ...@@ -174,6 +217,13 @@ extension GiftsViewController: UITableViewDelegate, UITableViewDataSource{
174 if (loyaltyCampaignIdExists == true) { 217 if (loyaltyCampaignIdExists == true) {
175 for item in ccmsCampaigns { 218 for item in ccmsCampaigns {
176 if (item._loyaltyCampaignId == campaigns[indexPath.row].session_uuid) { 219 if (item._loyaltyCampaignId == campaigns[indexPath.row].session_uuid) {
220 +
221 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
222 + firebaseEvent._eventName = "loyalty_sdk_offer_selected"
223 + firebaseEvent.setParameter = ("name", (item._title))
224 + firebaseEvent.setParameter = ("type", "gift")
225 + SwiftEventBus.post("firebase", sender: firebaseEvent)
226 +
177 let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) 227 let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
178 let vc = storyboard.instantiateViewController(withIdentifier: "TelcoViewController") as! SwiftWarplyFramework.TelcoViewController 228 let vc = storyboard.instantiateViewController(withIdentifier: "TelcoViewController") as! SwiftWarplyFramework.TelcoViewController
179 vc.ccms = item 229 vc.ccms = item
...@@ -199,7 +249,7 @@ extension GiftsViewController: UITableViewDelegate, UITableViewDataSource{ ...@@ -199,7 +249,7 @@ extension GiftsViewController: UITableViewDelegate, UITableViewDataSource{
199 249
200 let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel() 250 let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
201 firebaseEvent._eventName = "loyalty_sdk_offer_selected" 251 firebaseEvent._eventName = "loyalty_sdk_offer_selected"
202 - firebaseEvent.setParameter = ("name", (item?.name ?? "")) 252 + firebaseEvent.setParameter = ("name", (item.name ?? ""))
203 firebaseEvent.setParameter = ("type", "coupon") 253 firebaseEvent.setParameter = ("type", "coupon")
204 SwiftEventBus.post("firebase", sender: firebaseEvent) 254 SwiftEventBus.post("firebase", sender: firebaseEvent)
205 255
...@@ -291,6 +341,12 @@ extension GiftsViewController: UITableViewDelegate, UITableViewDataSource{ ...@@ -291,6 +341,12 @@ extension GiftsViewController: UITableViewDelegate, UITableViewDataSource{
291 seasonalEvent._imageUrl = campaigns[indexPath.row]._logo_url ?? "" 341 seasonalEvent._imageUrl = campaigns[indexPath.row]._logo_url ?? ""
292 seasonalEvent._loyaltyPackageId = campaigns[indexPath.row]._loyaltyPackageId ?? "" 342 seasonalEvent._loyaltyPackageId = campaigns[indexPath.row]._loyaltyPackageId ?? ""
293 SwiftEventBus.post("seasonal", sender: seasonalEvent) 343 SwiftEventBus.post("seasonal", sender: seasonalEvent)
344 +
345 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
346 + firebaseEvent._eventName = "loyalty_sdk_offer_selected"
347 + firebaseEvent.setParameter = ("name", (campaigns[indexPath.row]._title ?? ""))
348 + firebaseEvent.setParameter = ("type", "seasonal")
349 + SwiftEventBus.post("firebase", sender: firebaseEvent)
294 } 350 }
295 } 351 }
296 } 352 }
......
...@@ -16,6 +16,9 @@ import UIKit ...@@ -16,6 +16,9 @@ import UIKit
16 @IBOutlet weak var contentView: UIView! 16 @IBOutlet weak var contentView: UIView!
17 var pageController: UIPageViewController! 17 var pageController: UIPageViewController!
18 var tabSelected = 0 18 var tabSelected = 0
19 +
20 + var timerHistory: DispatchSourceTimer?
21 + var seconds: Int = 0
19 22
20 public override func viewDidLoad() { 23 public override func viewDidLoad() {
21 super.viewDidLoad() 24 super.viewDidLoad()
...@@ -56,6 +59,52 @@ import UIKit ...@@ -56,6 +59,52 @@ import UIKit
56 let analysisVC = self.viewControllerAt(0) 59 let analysisVC = self.viewControllerAt(0)
57 pageController.setViewControllers([analysisVC!], direction:.forward, animated:false) 60 pageController.setViewControllers([analysisVC!], direction:.forward, animated:false)
58 } 61 }
62 +
63 + public override func viewWillAppear(_ animated: Bool) {
64 + super.viewWillAppear(animated)
65 +
66 + self.startTimer()
67 + }
68 +
69 + public override func viewWillDisappear(_ animated: Bool) {
70 + super.viewWillDisappear(animated)
71 +
72 + self.stopTimer()
73 + }
74 +
75 + // MARK: - Functions
76 + func startTimer() {
77 + print("========= GiftsCalculator Timer Started! =========")
78 +
79 + let queue = DispatchQueue(label: Bundle.main.bundleIdentifier! + ".history.timer")
80 + timerHistory = DispatchSource.makeTimerSource(queue: queue)
81 + timerHistory!.schedule(deadline: .now(), repeating: .seconds(1))
82 + timerHistory!.setEventHandler { [weak self] in
83 + // do whatever stuff you want on the background queue here here
84 + print("========= GiftsCalculator interval! =========")
85 +
86 + DispatchQueue.main.async {
87 + // update your model objects and/or UI here
88 + self?.seconds = (self?.seconds ?? 0) + 1
89 +
90 + }
91 + }
92 + timerHistory!.resume()
93 + }
94 +
95 + func stopTimer() {
96 + print("========= GiftsCalculator Timer Stopped! =========")
97 + timerHistory?.cancel()
98 + timerHistory = nil
99 +
100 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
101 + firebaseEvent._eventName = "time_spent_on_loyalty_sdk"
102 + firebaseEvent.setParameter = ("name", "GiftsCalculator")
103 + firebaseEvent.setParameter = ("seconds", String(seconds))
104 + SwiftEventBus.post("firebase", sender: firebaseEvent)
105 +
106 + seconds = 0
107 + }
59 108
60 //////////////////////////////////////////////////////////////////////////////// 109 ////////////////////////////////////////////////////////////////////////////////
61 private func viewControllerAt(_ index:Int) -> AnalysisChildViewController? 110 private func viewControllerAt(_ index:Int) -> AnalysisChildViewController?
......
...@@ -16,6 +16,9 @@ import SwiftEventBus ...@@ -16,6 +16,9 @@ import SwiftEventBus
16 public var campaigns:Array<swiftApi.CampaignItemModel> = [] 16 public var campaigns:Array<swiftApi.CampaignItemModel> = []
17 public var loyaltyList:Array<swiftApi.CampaignItemModel> = swiftApi().mergeMFYCCMSLoyaltyCampaigns(campaigns: swiftApi().getCCMSLoyaltyCampaigns()) 17 public var loyaltyList:Array<swiftApi.CampaignItemModel> = swiftApi().mergeMFYCCMSLoyaltyCampaigns(campaigns: swiftApi().getCCMSLoyaltyCampaigns())
18 public var ccmsList:Array<swiftApi.LoyaltyContextualOfferModel> = swiftApi().getCCMSLoyaltyCampaigns() 18 public var ccmsList:Array<swiftApi.LoyaltyContextualOfferModel> = swiftApi().getCCMSLoyaltyCampaigns()
19 +
20 + var timerMFY: DispatchSourceTimer?
21 + var seconds: Int = 0
19 22
20 23
21 public override func viewDidLoad() { 24 public override func viewDidLoad() {
...@@ -56,6 +59,14 @@ import SwiftEventBus ...@@ -56,6 +59,14 @@ import SwiftEventBus
56 super.viewWillAppear(animated) 59 super.viewWillAppear(animated)
57 60
58 self.refreshData() 61 self.refreshData()
62 +
63 + self.startTimer()
64 + }
65 +
66 + public override func viewWillDisappear(_ animated: Bool) {
67 + super.viewWillDisappear(animated)
68 +
69 + self.stopTimer()
59 } 70 }
60 71
61 // MARK: - Functions 72 // MARK: - Functions
...@@ -81,6 +92,39 @@ import SwiftEventBus ...@@ -81,6 +92,39 @@ import SwiftEventBus
81 self.campaigns = tempCampaigns 92 self.campaigns = tempCampaigns
82 self.tableView.reloadData() 93 self.tableView.reloadData()
83 } 94 }
95 +
96 + func startTimer() {
97 + print("========= MFY Timer Started! =========")
98 +
99 + let queue = DispatchQueue(label: Bundle.main.bundleIdentifier! + ".mfy.timer")
100 + timerMFY = DispatchSource.makeTimerSource(queue: queue)
101 + timerMFY!.schedule(deadline: .now(), repeating: .seconds(1))
102 + timerMFY!.setEventHandler { [weak self] in
103 + // do whatever stuff you want on the background queue here here
104 + print("========= MFY interval! =========")
105 +
106 + DispatchQueue.main.async {
107 + // update your model objects and/or UI here
108 + self?.seconds = (self?.seconds ?? 0) + 1
109 +
110 + }
111 + }
112 + timerMFY!.resume()
113 + }
114 +
115 + func stopTimer() {
116 + print("========= MFY Timer Stopped! =========")
117 + timerMFY?.cancel()
118 + timerMFY = nil
119 +
120 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
121 + firebaseEvent._eventName = "time_spent_on_loyalty_sdk"
122 + firebaseEvent.setParameter = ("name", "MoreForYou")
123 + firebaseEvent.setParameter = ("seconds", String(seconds))
124 + SwiftEventBus.post("firebase", sender: firebaseEvent)
125 +
126 + seconds = 0
127 + }
84 128
85 } 129 }
86 130
...@@ -148,6 +192,13 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ ...@@ -148,6 +192,13 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{
148 if (loyaltyCampaignIdExists == true) { 192 if (loyaltyCampaignIdExists == true) {
149 for item in ccmsCampaigns { 193 for item in ccmsCampaigns {
150 if (item._loyaltyCampaignId == campaigns[indexPath.row].session_uuid) { 194 if (item._loyaltyCampaignId == campaigns[indexPath.row].session_uuid) {
195 +
196 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
197 + firebaseEvent._eventName = "loyalty_sdk_offer_selected"
198 + firebaseEvent.setParameter = ("name", (item._title))
199 + firebaseEvent.setParameter = ("type", "gift")
200 + SwiftEventBus.post("firebase", sender: firebaseEvent)
201 +
151 let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) 202 let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
152 let vc = storyboard.instantiateViewController(withIdentifier: "TelcoViewController") as! SwiftWarplyFramework.TelcoViewController 203 let vc = storyboard.instantiateViewController(withIdentifier: "TelcoViewController") as! SwiftWarplyFramework.TelcoViewController
153 vc.ccms = item 204 vc.ccms = item
...@@ -172,7 +223,7 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ ...@@ -172,7 +223,7 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{
172 223
173 let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel() 224 let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
174 firebaseEvent._eventName = "loyalty_sdk_offer_selected" 225 firebaseEvent._eventName = "loyalty_sdk_offer_selected"
175 - firebaseEvent.setParameter = ("name", (item?.name ?? "")) 226 + firebaseEvent.setParameter = ("name", (item.name ?? ""))
176 firebaseEvent.setParameter = ("type", "coupon") 227 firebaseEvent.setParameter = ("type", "coupon")
177 SwiftEventBus.post("firebase", sender: firebaseEvent) 228 SwiftEventBus.post("firebase", sender: firebaseEvent)
178 229
......
...@@ -210,14 +210,35 @@ import UIKit ...@@ -210,14 +210,35 @@ import UIKit
210 if (response != nil) { 210 if (response != nil) {
211 DispatchQueue.main.async { 211 DispatchQueue.main.async {
212 if (response?.getStatus == 1) { 212 if (response?.getStatus == 1) {
213 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
214 + firebaseEvent._eventName = "loyalty_offer_activated"
215 + firebaseEvent.setParameter = ("name", (self.ccms?._title ?? ""))
216 + firebaseEvent.setParameter = ("type", "gift")
217 + firebaseEvent.setParameter = ("successful", "true")
218 + SwiftEventBus.post("firebase", sender: firebaseEvent)
219 +
213 self.showDialog("Το αίτημά σου ολοκληρώθηκε επιτυχώς!","Θα ενημερωθείς άμεσα για την ενεργοποίηση του πακέτου σου.") 220 self.showDialog("Το αίτημά σου ολοκληρώθηκε επιτυχώς!","Θα ενημερωθείς άμεσα για την ενεργοποίηση του πακέτου σου.")
214 // self.postEventRequest() 221 // self.postEventRequest()
215 222
216 } else { 223 } else {
224 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
225 + firebaseEvent._eventName = "loyalty_offer_activated"
226 + firebaseEvent.setParameter = ("name", (self.ccms?._title ?? ""))
227 + firebaseEvent.setParameter = ("type", "gift")
228 + firebaseEvent.setParameter = ("successful", "false")
229 + SwiftEventBus.post("firebase", sender: firebaseEvent)
230 +
217 self.showDialog("Αποτυχία","Κάτι πήγε στραβά") 231 self.showDialog("Αποτυχία","Κάτι πήγε στραβά")
218 } 232 }
219 } 233 }
220 } else { 234 } else {
235 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
236 + firebaseEvent._eventName = "loyalty_offer_activated"
237 + firebaseEvent.setParameter = ("name", (self.ccms?._title ?? ""))
238 + firebaseEvent.setParameter = ("type", "gift")
239 + firebaseEvent.setParameter = ("successful", "false")
240 + SwiftEventBus.post("firebase", sender: firebaseEvent)
241 +
221 self.showDialog("Αποτυχία","Κάτι πήγε στραβά") 242 self.showDialog("Αποτυχία","Κάτι πήγε στραβά")
222 } 243 }
223 } 244 }
......
...@@ -45,6 +45,9 @@ import SwiftEventBus ...@@ -45,6 +45,9 @@ import SwiftEventBus
45 public var dfyCoupons:Array<swiftApi.ActiveDFYCouponModel> = swiftApi().getActiveDFYCoupons() 45 public var dfyCoupons:Array<swiftApi.ActiveDFYCouponModel> = swiftApi().getActiveDFYCoupons()
46 public var loyaltyBadge:swiftApi.LoyaltyBadgeModel = swiftApi().getLoyaltyBadge() 46 public var loyaltyBadge:swiftApi.LoyaltyBadgeModel = swiftApi().getLoyaltyBadge()
47 public var profile:swiftApi.ProfileModel? = swiftApi().getConsumer() 47 public var profile:swiftApi.ProfileModel? = swiftApi().getConsumer()
48 +
49 + var timerWallet: DispatchSourceTimer?
50 + var seconds: Int = 0
48 51
49 public override func viewDidLoad() { 52 public override func viewDidLoad() {
50 super.viewDidLoad() 53 super.viewDidLoad()
...@@ -363,6 +366,39 @@ import SwiftEventBus ...@@ -363,6 +366,39 @@ import SwiftEventBus
363 })) 366 }))
364 self.present(alert, animated: true, completion: nil) 367 self.present(alert, animated: true, completion: nil)
365 } 368 }
369 +
370 + func startTimer() {
371 + print("========= MyRewards Timer Started! =========")
372 +
373 + let queue = DispatchQueue(label: Bundle.main.bundleIdentifier! + ".wallet.timer")
374 + timerWallet = DispatchSource.makeTimerSource(queue: queue)
375 + timerWallet!.schedule(deadline: .now(), repeating: .seconds(1))
376 + timerWallet!.setEventHandler { [weak self] in
377 + // do whatever stuff you want on the background queue here here
378 + print("========= MyRewards interval! =========")
379 +
380 + DispatchQueue.main.async {
381 + // update your model objects and/or UI here
382 + self?.seconds = (self?.seconds ?? 0) + 1
383 +
384 + }
385 + }
386 + timerWallet!.resume()
387 + }
388 +
389 + func stopTimer() {
390 + print("========= MyRewards Timer Stopped! =========")
391 + timerWallet?.cancel()
392 + timerWallet = nil
393 +
394 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
395 + firebaseEvent._eventName = "time_spent_on_loyalty_sdk"
396 + firebaseEvent.setParameter = ("name", "MyRewards")
397 + firebaseEvent.setParameter = ("seconds", String(seconds))
398 + SwiftEventBus.post("firebase", sender: firebaseEvent)
399 +
400 + seconds = 0
401 + }
366 402
367 // MARK: - Actions 403 // MARK: - Actions
368 @IBAction func qustionnaireButtonAction(_ sender: Any) { 404 @IBAction func qustionnaireButtonAction(_ sender: Any) {
......
...@@ -5025,6 +5025,12 @@ public class swiftApi { ...@@ -5025,6 +5025,12 @@ public class swiftApi {
5025 5025
5026 } else if (isTelco && (loyaltyCampaign.session_uuid == ccms._loyaltyCampaignId)) { 5026 } else if (isTelco && (loyaltyCampaign.session_uuid == ccms._loyaltyCampaignId)) {
5027 5027
5028 + let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
5029 + firebaseEvent._eventName = "loyalty_sdk_offer_selected"
5030 + firebaseEvent.setParameter = ("name", (ccms._title))
5031 + firebaseEvent.setParameter = ("type", "gift")
5032 + SwiftEventBus.post("firebase", sender: firebaseEvent)
5033 +
5028 let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) 5034 let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
5029 let vc = storyboard.instantiateViewController(withIdentifier: "TelcoViewController") as! SwiftWarplyFramework.TelcoViewController 5035 let vc = storyboard.instantiateViewController(withIdentifier: "TelcoViewController") as! SwiftWarplyFramework.TelcoViewController
5030 vc.ccms = ccms 5036 vc.ccms = ccms
......