Skip to content

Commit b636faf

Browse files
committed
Track when a reply to a product review is sent
1 parent 992837d commit b636faf

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

WooCommerce/Classes/ViewRelated/Reviews/ReviewReplyViewModel.swift

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,18 @@ final class ReviewReplyViewModel: ObservableObject {
3232
///
3333
let presentNoticeSubject = PassthroughSubject<ReviewReplyNotice, Never>()
3434

35+
/// Analytics
36+
///
37+
private let analytics: Analytics
38+
3539
init(siteID: Int64,
3640
reviewID: Int64,
37-
stores: StoresManager = ServiceLocator.stores) {
41+
stores: StoresManager = ServiceLocator.stores,
42+
analytics: Analytics = ServiceLocator.analytics) {
3843
self.siteID = siteID
3944
self.reviewID = reviewID
4045
self.stores = stores
46+
self.analytics = analytics
4147
bindNavigationTrailingItemPublisher()
4248
}
4349

@@ -62,15 +68,18 @@ final class ReviewReplyViewModel: ObservableObject {
6268
DDLogInfo("Reply to product review succeeded with comment status: \(status)")
6369
}
6470

71+
self.analytics.track(.reviewReplySendSuccess)
6572
self.presentNoticeSubject.send(.success)
6673
onCompletion(true)
6774
case .failure(let error):
68-
self.presentNoticeSubject.send(.error)
6975
DDLogError("⛔️ Error replying to product review: \(error)")
76+
self.analytics.track(.reviewReplySendFailed, withError: error)
77+
self.presentNoticeSubject.send(.error)
7078
onCompletion(false)
7179
}
7280
}
7381

82+
analytics.track(.reviewReplySend)
7483
performingNetworkRequest.send(true)
7584
stores.dispatch(action)
7685
}

0 commit comments

Comments
 (0)