Purchasely
4.4
4.4
  • Welcome page
  • General
    • Presentation
    • Release notes
  • Quick start
    • Console Configuration
    • SDK Implementation
    • Testing
    • Sample
  • Basic configuration
    • Console Configuration
      • Creating a new application
      • Creating your Products
        • App Store
        • Play Store
        • Huawei App Gallery
        • Amazon App Store
        • Products & Plans
      • Design your Paywalls
      • Design your Paywalls-Latest
        • Carousel
        • Carousel Flow
        • Features List
        • Features List & Plan Picker with 2 & 3 columns
        • Feature list overlay
        • Plan picker horizontal
        • Plan picker with 2 and 3 Column
    • SDK installation
      • iOS SDK
      • Android SDK
      • React Native SDK
      • Cordova SDK
      • Flutter SDK
      • Unity SDK
    • SDK configurations
      • Paywall observer mode
      • Full mode
      • StoreKit 2
      • Appendices
        • Start the SDK
        • Set User Id
        • Notify when the app is ready
        • Present paywalls
        • Unlock content / service
        • Close SDK (Android only)
    • Stripe
    • Purchasely with RevenueCat
  • S2S notifications
    • Server-to-server notifications ?
    • Apple App Store
    • Google Play Store
    • Huawei App Gallery
  • Analytics
    • Dashboards
      • Introduction
      • Live
      • Subscriptions
      • Cohorts
      • Trials
      • Events
    • Events
      • Webhook events
        • Subscription events
        • Subscription events attributes
      • SDK events
        • UI events
        • UI attributes
  • Integrations
    • Webhook
      • Receiving and understanding messages
      • Managing entitlements
      • Detailed sequence diagrams
    • Airship
    • Amplitude
    • AppsFlyer
    • Adjust
    • Piano analytics(ex AT Internet)
    • Batch
    • Branch
    • Braze
    • Clevertap
    • Customer.io
    • Firebase
    • Iterable
    • Mixpanel
    • MoEngage
    • OneSignal
    • Segment
    • Brevo(ex Sendinblue)
  • Advanced Features
    • Asynchronous paywalls
    • NEW: Promotional offers
    • Anonymous user
    • Associating content
    • Audiences
    • Customising UI
      • Errors & alerts
      • Controllers (iOS) / Fragments (Android)
    • Deeplinks automations
    • Disable placements
    • Displaying users subscriptions
    • Localization
    • Lottie animations
    • Non-subscription products
    • Paywall action interceptor
    • Promoting your products
      • Self-promotion
      • Promoting In-App Purchases
    • Purchase manually
    • Subscription status
    • Use your own paywall
  • Others
    • Frequently Asked Questions
    • Migration guides
      • Migrate to Purchasely
      • Webhook
        • Migrate to Webhook v3.0
      • SDK
        • Migrate to SDK v3.0
          • v2.2.0
          • v2.1.3
        • Migrate to SDK v3.1
        • Migrate to SDK v3.2
        • Migrate to SDK v4.0.0
  • TESTING
    • Testing Cycle Durations
Powered by GitBook

© Purchasely 2020-2023

On this page
  • Events
  • Associate your users
  • Configure the integration in the Purchasely Console
  • Retrieving API secrets
  • Customising Server Event Names

Was this helpful?

Edit on GitHub
  1. Integrations

Firebase

PreviousCustomer.ioNextIterable

Last updated 1 year ago

Was this helpful?

Purchasely can send all your transactional events to Firebase through Google Analytics to enrich your users data. These events can then be used in Google Analytics, Firebase, Big Query...

Read through to setup your Firebase project with Google Analytics. Google Analytics integration needs to be enabled before continuing**.**

This integration is to be considered as Beta because Google's API Measurement Protocol, used to push events from our servers, is not yet finalised.

Events

The following events are an example of what will be sent. You can find the full list of events . You can set the event name of your choice in the console.

Event
Description

SUBSCRIPTION_STARTED

Sent when the user purchased a product wether it is the start of a trial or a regular purchase of a consumable product.

RENEWAL_DISABLED

Sent when the user deactivates the renewal of a subscription wether it is in trial period or not.

RENEWAL_ENABLED

Sent when the user reactivates

SUBSCRIPTION_TERMINATED

Sent when the subscription actually ends

SUBSCRIPTION_RENEWED

Sent when a subscription renews

TRIAL_STARTED

Sent when a trial starts

TRIAL_CONVERTED

Sent when a user converts from a free trial to a normal paid-period

TRIAL_NOT_CONVERTED

Sent when a user finishes it's trial period without renewing to a paid-period

Associate your users

In order to associate those events back to your users, you will need to configure the Purchasely SDK to give us the firebaseAppInstanceId value:


if let firebaseAppInstanceId = Analytics.appInstanceID() {
	Purchasely.setAttribute(.firebaseAppInstanceId, value: firebaseAppInstanceId)
}
FirebaseAnalytics.getInstance(applicationContext).appInstanceId.addOnSuccessListener {
    Purchasely.setAttribute(Attribute.FIREBASE_APP_INSTANCE_ID, it)
}
FirebaseAnalytics.getInstance(getApplicationContext()).getAppInstanceId().addOnSuccessListener(id -> Purchasely.setAttribute(Attribute.FIREBASE_APP_INSTANCE_ID, id));
/*
 Reference : https://rnfirebase.io/analytics/usage#app-instance-id
*/

import analytics from '@react-native-firebase/analytics';

async function getInstanceId() {
  const id = await analytics().getAppInstanceId();
  id && Purchasely.setAttribute(Attributes.FIREBASE_APP_INSTANCE_ID, id);
}
// Add plugin firebase-x to your project
// https://ionicframework.com/docs/native/firebase-x

//Retrieve the Firebase App Instance Id and forward it to Purchasely
FirebasePlugin.getId(function(appInstanceId) {
    Purchasely.setAttribute(Purchasely.Attribute.FIREBASE_APP_INSTANCE_ID, appInstanceId);
}, function(error) {
    console.error(error);
});

Configure the integration in the Purchasely Console

Go in the "External integrations" section, and open the edition form for Firebase:

For each platform, you will find your Firebase App ID in your Firebase Project settings:

Retrieving API secrets

Go to your Firebase project Settings > Integration > (Google Analytics) Manage:

Click on your linked Google Analytics account, to open Google Analytics settings:

In the Google Analytics Admin section, make sure you have selected the correct project. Then click on Data Streams:

Click on one of your apps (make sure they match the apps that you are configuring in Purchasely!):

Go to the Additional settings section, then click on Measurement Protocol API secrets section:

Review terms, then click on Create:

Give an appropriate nickname to the API secret (e.g. "Purchasely Platform"), then click Create:

You can finally copy the obtained Secret value into Purchasely API Secret for the relevant platform.

You will need to repeat the procedure for each platform.

Don't forget to toggle the Integration Enabled switch on the Account Parameters page.

Customising Server Event Names

If you want to, you can rename events sent to Google Analytics:

You can always give your custom User ID to Analytics if you need more detailed metrics, as detailed in documentation. But make sure it matches the vendor_id you give to Purchasely to avoid discrepancies.

Event names must be 40 characters or fewer, may only contain alphanumeric characters and underscores, and must start with an alphabetic character. See Google Analytics documentation on for more info.

Google Analytics for Firebase documentation
here
Set a User ID
Limitations