Skip to content

Commit d11b6a3

Browse files
Add support for FirebaseAnalytics StoreKit2
1 parent 9bad98d commit d11b6a3

File tree

4 files changed

+8
-0
lines changed

4 files changed

+8
-0
lines changed

Sources/PandaSDK/AppStoreService.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ final class AppStoreService: NSObject {
1515
private var purchasing: Bool = false
1616

1717
var onVerify: (() async -> Void)?
18+
var onTransaction: ((StoreKit.Transaction) -> Void)?
1819

1920
init(verificationClient: VerificationClient) {
2021
self.verificationClient = verificationClient
@@ -87,6 +88,7 @@ final class AppStoreService: NSObject {
8788
switch result {
8889
case let .success(verification):
8990
let transaction = try verification.payloadValue
91+
onTransaction?(transaction)
9092
await transaction.finish()
9193
return .success(transaction, product)
9294

Sources/PandaSDK/ConfiguredPanda/ConfiguredPanda+WebViewModel.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,10 @@ extension Panda {
181181
}
182182
}
183183

184+
func onAppStoreServiceTransaction(transaction: StoreKit.Transaction) {
185+
send(event: .trackTransaction(transaction: transaction))
186+
}
187+
184188
@MainActor
185189
func onError(error: Error) {
186190
viewControllers.forEach { $0.value?.onFinishLoad() }

Sources/PandaSDK/ConfiguredPanda/ConfiguredPanda.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ final public class Panda: PandaProtocol, ObserverSupport {
7272

7373
func configureAppStoreService() {
7474
appStoreService.onVerify = onAppStoreServiceVerify
75+
appStoreService.onTransaction = onAppStoreServiceTransaction
7576
appStoreService.startTask()
7677
}
7778

Sources/PandaSDK/PandaAnalytics.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public enum PandaEvent {
3434
case onStartLoading
3535
case onFinishLoading
3636
case updateStatuses
37+
case trackTransaction(transaction: StoreKit.Transaction)
3738
}
3839

3940
public protocol PandaAnalyticsObserver: AnyObject {

0 commit comments

Comments
 (0)