Skip to content

Commit 5d57685

Browse files
committed
Add tracking for activation state
1 parent 328b451 commit 5d57685

File tree

4 files changed

+8
-14
lines changed

4 files changed

+8
-14
lines changed

WooCommerce/Classes/Analytics/WooAnalyticsStat.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1250,6 +1250,7 @@ enum WooAnalyticsStat: String {
12501250
case watchConnectingOpened = "watch_connecting_opened"
12511251
case watchSyncingFailed = "watch_syncing_failed"
12521252
case watchMyStoreOpened = "watch_my_store_opened"
1253+
case watchActivationCompleted = "watch_activation_completed"
12531254
case watchOrdersListOpened = "watch_orders_list_opened"
12541255
case watchPushNotificationTapped = "watch_push_notification_tapped"
12551256
case watchOrderDetailOpened = "watch_order_detail_opened"

WooCommerce/Classes/System/WatchDependenciesSynchronizer.swift

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,11 @@ final class WatchDependenciesSynchronizer: NSObject, WCSessionDelegate {
147147

148148
func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?) {
149149
DDLogInfo("🔵 WatchSession activated \(activationState)")
150+
analytics.track(
151+
.watchActivationCompleted,
152+
properties: ["state": activationState.rawValue],
153+
error: error
154+
)
150155
self.isSessionActive = activationState == .activated
151156
}
152157

@@ -187,14 +192,10 @@ extension WatchDependenciesSynchronizer {
187192
/// When one is identified we should try to re-sync credentials.
188193
///
189194
func session(_ session: WCSession, didReceiveMessage message: [String: Any]) {
190-
if message[WooConstants.watchSyncKey] as? Bool == true {
191-
syncTrigger.toggle()
192-
} else if message[WooConstants.watchSessionActivatedKey] as? Bool == true {
193-
self.isSessionActive = true
194-
DDLogInfo("🔵 WatchSession activated)")
195-
} else {
195+
guard message[WooConstants.watchSyncKey] as? Bool == true else {
196196
return DDLogError("⛔️ Unsupported sync request message: \(message)")
197197
}
198+
syncTrigger.toggle()
198199
}
199200
}
200201

WooCommerce/Classes/System/WooConstants.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,6 @@ public enum WooConstants {
8585
///
8686
static let watchTracksKey = "watch-tracks-event"
8787

88-
/// Key used to identify when session is activated on the watch.
89-
///
90-
static let watchSessionActivatedKey = "watch_session_activated"
91-
9288
/// Key used to identify sync request attempt from the watch.
9389
///
9490
static let watchSyncKey = "watch-sync-event"

WooCommerce/Woo Watch App/Dependencies/PhoneDependenciesSynchronizer.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,6 @@ final class PhoneDependenciesSynchronizer: NSObject, ObservableObject, WCSession
4242
/// Get the latest application context when the session activates
4343
///
4444
func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?) {
45-
if error == nil {
46-
WCSession.default.sendMessage([WooConstants.watchSessionActivatedKey: true], replyHandler: nil)
47-
}
48-
4945
DispatchQueue.main.async {
5046
self.storeDependencies(appContext: session.receivedApplicationContext)
5147
self.reloadDependencies()

0 commit comments

Comments
 (0)