Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ import SwiftUI
promotionalOffer: PromotionalOffer?
) async throws -> PurchaseResultData

func track(customerCenterEvent: any CustomerCenterEventType)
func track(customerCenterEvent: CustomerCenterEvent)

func loadCustomerCenter() async throws -> CustomerCenterConfigData

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ final class CustomerCenterPurchases: CustomerCenterPurchasesType {
}
}

func track(customerCenterEvent: any CustomerCenterEventType) {
func track(customerCenterEvent: CustomerCenterEvent) {
Purchases.shared.track(customerCenterEvent: customerCenterEvent)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@ final class MockCustomerCenterPurchases: @unchecked Sendable, CustomerCenterPurc

var trackCallCount = 0
var trackError: Error?
var trackedEvents: [CustomerCenterEventType] = []
func track(customerCenterEvent: any CustomerCenterEventType) {
var trackedEvents: [CustomerCenterEvent] = []
func track(customerCenterEvent: CustomerCenterEvent) {
trackCallCount += 1
trackedEvents.append(customerCenterEvent)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ import Foundation
internal var currentTask: Task<Void, Never>?

private var error: Error?
private var impressionData: CustomerCenterEvent.Data?
private var hasTrackedImpression = false

init(
actionWrapper: CustomerCenterActionWrapper,
Expand Down Expand Up @@ -229,17 +229,19 @@ import Foundation
}

func trackImpression(darkMode: Bool, displayMode: CustomerCenterPresentationMode) {
guard impressionData == nil else {
guard !hasTrackedImpression else {
return
}

let eventData = CustomerCenterEvent.Data(locale: .current,
darkMode: darkMode,
isSandbox: purchasesProvider.isSandbox,
displayMode: displayMode)
defer { self.impressionData = eventData }
hasTrackedImpression = true

let event = CustomerCenterEvent.impression(
locale: .current,
darkMode: darkMode,
isSandbox: purchasesProvider.isSandbox,
displayMode: displayMode
)

let event = CustomerCenterEvent.impression(CustomerCenterEventCreationData(), eventData)
purchasesProvider.track(customerCenterEvent: event)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,18 +120,17 @@ private extension FeedbackSurveyViewModel {
darkMode: Bool,
displayMode: CustomerCenterPresentationMode,
locale: Locale) {
let isSandbox = purchasesProvider.isSandbox
let surveyOptionData = CustomerCenterAnswerSubmittedEvent.Data(locale: locale,
darkMode: darkMode,
isSandbox: isSandbox,
displayMode: displayMode,
path: feedbackSurveyData.path.type,
url: feedbackSurveyData.path.url,
surveyOptionID: option.id,
additionalContext: nil,
revisionID: 0)
let event = CustomerCenterAnswerSubmittedEvent.answerSubmitted(CustomerCenterEventCreationData(),
surveyOptionData)
let event = CustomerCenterEvent.answerSubmitted(
locale: locale,
darkMode: darkMode,
isSandbox: purchasesProvider.isSandbox,
displayMode: displayMode,
path: feedbackSurveyData.path.type,
url: feedbackSurveyData.path.url,
surveyOptionID: option.id,
additionalContext: nil,
revisionID: 0
)
purchasesProvider.track(customerCenterEvent: event)
}

Expand Down
Loading