Skip to content

feat(analytics): add logTransaction method#967

Merged
robingenz merged 4 commits intomainfrom
feat/issue-629
Mar 30, 2026
Merged

feat(analytics): add logTransaction method#967
robingenz merged 4 commits intomainfrom
feat/issue-629

Conversation

@robingenz
Copy link
Copy Markdown
Member

Summary

  • Add logTransaction method to the Analytics plugin for logging StoreKit 2 transactions on iOS (15.0+)
  • Accepts a transactionId string, looks up the native StoreKit.Transaction, and calls Analytics.logTransaction()
  • Android and web return unimplemented (Android auto-tracks IAP, web has no equivalent)

Close #629

Copilot AI review requested due to automatic review settings March 30, 2026 15:24
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new logTransaction API to the Analytics plugin to support logging StoreKit 2 transactions on iOS 15+ via Analytics.logTransaction, with Android/web explicitly returning unimplemented.

Changes:

  • Add logTransaction(options: { transactionId: string }) to the public TS plugin interface and documentation.
  • Implement iOS native lookup of a StoreKit.Transaction by transaction ID and forward it to Firebase Analytics.
  • Add unimplemented stubs for Android and web.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
packages/analytics/src/web.ts Adds logTransaction stub that throws unimplemented on web.
packages/analytics/src/definitions.ts Extends plugin interface + adds LogTransactionOptions.
packages/analytics/ios/Plugin/FirebaseAnalyticsPlugin.swift Bridges new logTransaction method from JS to native implementation.
packages/analytics/ios/Plugin/FirebaseAnalyticsHelper.swift Adds helper to extract Transaction from VerificationResult.
packages/analytics/ios/Plugin/FirebaseAnalytics.swift Implements logTransaction via StoreKit 2 transaction lookup + Analytics.logTransaction.
packages/analytics/android/.../FirebaseAnalyticsPlugin.java Adds logTransaction stub returning unimplemented on Android.
packages/analytics/README.md Documents the new logTransaction API and options.
.changeset/add-log-transaction.md Declares a minor release for @capacitor-firebase/analytics.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/analytics/ios/Plugin/FirebaseAnalyticsPlugin.swift
Comment thread packages/analytics/ios/Plugin/FirebaseAnalytics.swift Outdated
Comment thread packages/analytics/ios/Plugin/FirebaseAnalytics.swift Outdated
Comment thread packages/analytics/ios/Plugin/FirebaseAnalyticsHelper.swift
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Mar 30, 2026

Open in StackBlitz

@capacitor-firebase/analytics

npm i https://pkg.pr.new/capawesome-team/capacitor-firebase/@capacitor-firebase/analytics@967

@capacitor-firebase/app

npm i https://pkg.pr.new/capawesome-team/capacitor-firebase/@capacitor-firebase/app@967

@capacitor-firebase/app-check

npm i https://pkg.pr.new/capawesome-team/capacitor-firebase/@capacitor-firebase/app-check@967

@capacitor-firebase/authentication

npm i https://pkg.pr.new/capawesome-team/capacitor-firebase/@capacitor-firebase/authentication@967

@capacitor-firebase/crashlytics

npm i https://pkg.pr.new/capawesome-team/capacitor-firebase/@capacitor-firebase/crashlytics@967

@capacitor-firebase/firestore

npm i https://pkg.pr.new/capawesome-team/capacitor-firebase/@capacitor-firebase/firestore@967

@capacitor-firebase/functions

npm i https://pkg.pr.new/capawesome-team/capacitor-firebase/@capacitor-firebase/functions@967

@capacitor-firebase/messaging

npm i https://pkg.pr.new/capawesome-team/capacitor-firebase/@capacitor-firebase/messaging@967

@capacitor-firebase/performance

npm i https://pkg.pr.new/capawesome-team/capacitor-firebase/@capacitor-firebase/performance@967

@capacitor-firebase/remote-config

npm i https://pkg.pr.new/capawesome-team/capacitor-firebase/@capacitor-firebase/remote-config@967

@capacitor-firebase/storage

npm i https://pkg.pr.new/capawesome-team/capacitor-firebase/@capacitor-firebase/storage@967

commit: d526f26

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/analytics/src/definitions.ts
Comment thread packages/analytics/README.md Outdated
Comment thread packages/analytics/ios/Plugin/FirebaseAnalytics.swift
@robingenz robingenz merged commit 745e066 into main Mar 30, 2026
6 checks passed
@robingenz robingenz deleted the feat/issue-629 branch March 30, 2026 16:22
@github-actions github-actions bot mentioned this pull request Mar 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(analytics): add logTransaction method

2 participants