firebase / firebase-ios-sdk

Firebase SDK for Apple App Development
https://firebase.google.com
Apache License 2.0
5.52k stars 1.44k forks source link

In-App purchases do not track from iOS app using StoreKit2 #12597

Closed alpha-moisol closed 5 months ago

alpha-moisol commented 5 months ago

Description

Following the documentation of measuring in-app purchases, I have added this line Analytics.logTransaction(transaction) after product.purchase() and before transaction.finish(). But still, after releasing the build and one week of waiting I cannot see the majority of in-app purchases events. However, I can see an event called _iapx in debug mode, which is likely to be in_app_purchase event, but cannot see it in Firebase Analytics Dashboard.

Reproducing the issue

Firebase SDK Version

10.19.0

Xcode Version

15.2

Installation Method

Swift Package Manager

Firebase Product(s)

Analytics

Targeted Platforms

iOS

Relevant Log Output

10.19.0 - [FirebaseAnalytics] Event logged. Event name, event params: _iapx, {
    currency = EUR;
    ga_debug (_dbg) = 1;
    ga_dedupe_id (_did) = 8831490557258600911;
    ga_event_origin (_o) = auto;
    ga_realtime (_r) = 1;
    price = 9990000;
    product_name = 1000 Coins;
    quantity = 1;
    sandbox = 1;
    value = 9990000;
}

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet
```json { "pins" : [ { "identity" : "abseil-cpp-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/abseil-cpp-binary.git", "state" : { "revision" : "bfc0b6f81adc06ce5121eb23f628473638d67c5c", "version" : "1.2022062300.0" } }, { "identity" : "adsglobalpackage", "kind" : "remoteSourceControl", "location" : "https://github.com/bytedance/AdsGlobalPackage", "state" : { "revision" : "ed09b582abecf275d001f75fb5d8648138b7a321", "version" : "5.5.1-release.0" } }, { "identity" : "alphamacrokit", "kind" : "remoteSourceControl", "location" : "https://github.com/Arideno/AlphaMacroKit", "state" : { "revision" : "734d31aefa5c33fbd33109b14b840758fd87167f", "version" : "0.1.0" } }, { "identity" : "app-check", "kind" : "remoteSourceControl", "location" : "https://github.com/google/app-check.git", "state" : { "revision" : "5746b2d35c91c50581590ed97abe4c06b5037274", "version" : "10.18.0" } }, { "identity" : "appauth-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/openid/AppAuth-iOS.git", "state" : { "revision" : "3d36a58a2b736f7bc499453e996a704929b25080", "version" : "1.6.0" } }, { "identity" : "applovin-max-swift-package", "kind" : "remoteSourceControl", "location" : "https://github.com/AppLovin/AppLovin-MAX-Swift-Package.git", "state" : { "revision" : "33e9e7ca7677b1420de1b4e36ccf8f8cb4b810e8", "version" : "12.1.0" } }, { "identity" : "appsflyerframework", "kind" : "remoteSourceControl", "location" : "https://github.com/AppsFlyerSDK/AppsFlyerFramework", "state" : { "revision" : "580fc1b67a1f797a625eb981bc8c5a6a632bbe59", "version" : "6.12.3" } }, { "identity" : "combine-schedulers", "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/combine-schedulers", "state" : { "revision" : "9dc9cbe4bc45c65164fa653a563d8d8db61b09bb", "version" : "1.0.0" } }, { "identity" : "combineext", "kind" : "remoteSourceControl", "location" : "https://github.com/CombineCommunity/CombineExt", "state" : { "revision" : "d7b896fa9ca8b47fa7bcde6b43ef9b70bf8c1f56", "version" : "1.8.1" } }, { "identity" : "cryptoswift", "kind" : "remoteSourceControl", "location" : "https://github.com/krzyzanowskim/CryptoSwift", "state" : { "revision" : "7892a123f7e8d0fe62f9f03728b17bbd4f94df5c", "version" : "1.8.1" } }, { "identity" : "customerio-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/customerio/customerio-ios.git", "state" : { "revision" : "f68661cb8f8c98823ca2a44269e4a9e601fdfe27", "version" : "2.10.1" } }, { "identity" : "facebook-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/facebook/facebook-ios-sdk", "state" : { "revision" : "3fe31c168903759de1c5752d12856c5c437c6862", "version" : "16.3.1" } }, { "identity" : "fingerprintjs-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/fingerprintjs/fingerprintjs-ios", "state" : { "revision" : "bd93291c149e328919a9a2881575494f6ea9245f", "version" : "1.5.0" } }, { "identity" : "firebase-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/firebase-ios-sdk", "state" : { "revision" : "d9bcd141c3e4ad48a9500e6faeebb073f43cbcbd", "version" : "10.19.0" } }, { "identity" : "googleappmeasurement", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleAppMeasurement.git", "state" : { "revision" : "6b332152355c372ace9966d8ee76ed191f97025e", "version" : "10.17.0" } }, { "identity" : "googledatatransport", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleDataTransport.git", "state" : { "revision" : "a732a4b47f59e4f725a2ea10f0c77e93a7131117", "version" : "9.3.0" } }, { "identity" : "googlesignin-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleSignIn-iOS", "state" : { "revision" : "7932d33686c1dc4d7df7a919aae47361d1cdfda4", "version" : "7.0.0" } }, { "identity" : "googleutilities", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleUtilities.git", "state" : { "revision" : "bc27fad73504f3d4af235de451f02ee22586ebd3", "version" : "7.12.1" } }, { "identity" : "grpc-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/grpc-binary.git", "state" : { "revision" : "a673bc2937fbe886dd1f99c401b01b6d977a9c98", "version" : "1.49.1" } }, { "identity" : "gtm-session-fetcher", "kind" : "remoteSourceControl", "location" : "https://github.com/google/gtm-session-fetcher.git", "state" : { "revision" : "5ccda3981422a84186387dbb763ba739178b529c", "version" : "2.3.0" } }, { "identity" : "gtmappauth", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GTMAppAuth.git", "state" : { "revision" : "6dee0cde8a1b223737a5159e55e6b4ec16bbbdd9", "version" : "1.3.1" } }, { "identity" : "interop-ios-for-google-sdks", "kind" : "remoteSourceControl", "location" : "https://github.com/google/interop-ios-for-google-sdks.git", "state" : { "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648", "version" : "100.0.0" } }, { "identity" : "ios-reader-ads", "kind" : "remoteSourceControl", "location" : "https://github.com/alphanovel/ios-reader-ads", "state" : { "revision" : "e1b8d7d0e8484e75c3c8faad3dab069830fc5929", "version" : "1.4.7" } }, { "identity" : "kingfisher", "kind" : "remoteSourceControl", "location" : "https://github.com/onevcat/Kingfisher", "state" : { "revision" : "add0a87ec4e31e2ca2a0b2085f0559201e4f5918", "version" : "7.10.1" } }, { "identity" : "leveldb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/leveldb.git", "state" : { "revision" : "0706abcc6b0bd9cedfbb015ba840e4a780b5159b", "version" : "1.22.2" } }, { "identity" : "nanopb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/nanopb.git", "state" : { "revision" : "819d0a2173aff699fb8c364b6fb906f7cdb1a692", "version" : "2.30909.0" } }, { "identity" : "promises", "kind" : "remoteSourceControl", "location" : "https://github.com/google/promises.git", "state" : { "revision" : "e70e889c0196c76d22759eb50d6a0270ca9f1d9e", "version" : "2.3.1" } }, { "identity" : "swift-concurrency-extras", "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-concurrency-extras", "state" : { "revision" : "ea631ce892687f5432a833312292b80db238186a", "version" : "1.0.0" } }, { "identity" : "swift-macro-toolkit", "kind" : "remoteSourceControl", "location" : "https://github.com/stackotter/swift-macro-toolkit", "state" : { "revision" : "106daeb38eb3f52b1540aed981fc63fa22274576", "version" : "0.3.1" } }, { "identity" : "swift-protobuf", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-protobuf.git", "state" : { "revision" : "e1499bc69b9040b29184f7f2996f7bab467c1639", "version" : "1.19.0" } }, { "identity" : "swift-snapshot-testing", "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-snapshot-testing", "state" : { "revision" : "8e68404f641300bfd0e37d478683bb275926760c", "version" : "1.15.2" } }, { "identity" : "swift-syntax", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-syntax.git", "state" : { "revision" : "74203046135342e4a4a627476dd6caf8b28fe11b", "version" : "509.0.0" } }, { "identity" : "swiftui-introspect", "kind" : "remoteSourceControl", "location" : "https://github.com/siteline/SwiftUI-Introspect", "state" : { "revision" : "18e965f867e37a558ad13c12d330dbe047099180", "version" : "1.1.2" } }, { "identity" : "swiftuipager", "kind" : "remoteSourceControl", "location" : "https://github.com/fermoya/SwiftUIPager.git", "state" : { "revision" : "4ddc04c801aac143090bb14cf26603a3bf9c74cb", "version" : "2.5.0" } }, { "identity" : "xctest-dynamic-overlay", "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/xctest-dynamic-overlay", "state" : { "revision" : "23cbf2294e350076ea4dbd7d5d047c1e76b03631", "version" : "1.0.2" } } ], "version" : 2 } ```

If using CocoaPods, the project's Podfile.lock

No response

google-oss-bot commented 5 months ago

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

rizafran commented 5 months ago

Thanks for reporting, @alpha-moisol. Per checking with the team, it seems that there's an ongoing bug internally related to this issue. As discussed, please file via Firebase Support and share this ticket so the team would be able assist you and for them to provide the latest update regarding this issue.

armdev19 commented 4 months ago

I have exactly the same problem, Firebase does not track purchases from StoreKit2. I wrote to them in support more than a week ago, but I have not received a response.