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
  • Why combine AppsFlyer and Purchasely?
  • Pre-requisites
  • Subscription events
  • General overview
  • Integrating Purchasely with AppsFlyer
  • 1. Associating users to events
  • 2. Activating the AppsFlyer integration
  • Testing your integration

Was this helpful?

Edit on GitHub
  1. Integrations

AppsFlyer

PreviousAmplitudeNextAdjust

Last updated 1 year ago

Was this helpful?

Why combine AppsFlyer and Purchasely?

Pre-requisites

The minimal version of the Purchasely SDK supporting this integration is v3.2.0. If the Purchasely SDK integrated in your app is under the minimal version, please update it.

The AppsFyer SDK also needs to be integrated inside the app.

Subscription events

General overview

is one of the leading MMP (Mobile Measurement Partner): a third-party attribution company that collects, organizes, and presents data from marketing campaigns in order to provide brands with a unified view of their campaign performance

This integration will allow you to track your subscriptions and in-app purchases events in your AppsFlyer Dashboard.

Purchasely provides a unified dataset to track the subscription events for all stores. These events are generated by the Purchasely Backend and can be sent to AppsFlyer.

Subscription events generated by Purchasely will be sent to AppsFlyer using a server-to-server integration. As a result, you will be able to see all the subscription events in your AppsFlyer Dashboard and map them with your acquisition campaigns.

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.

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-periodYou can also override an event's token for each store, individually, provided you h

PURCHASE_VALIDATED

Sent when a user purchases a one-time purchase (consumable or not consumable)

SUBSCRIPTION_REACTIVATED

Sent when an expired subscription is reactivated. This event is particularly useful for win-back & retargeting campaigns

SUBSCRIPTION_REFUNDED_REVOKED

Sent when a subscription is refunded

Integrating Purchasely with AppsFlyer

The integration requires 2 steps:

  1. Associate the user to events by providing the AppsFlyer ID to the Purchasely SDK

  2. Activate the AppsFlyer integration in the Purchasely Console

1. Associating users to events

Purchasely.setAttribute(.appsflyerId, value: AppsFlyerLib.shared().getAppsFlyerUID())
AppsFlyerLib.getInstance().getAppsFlyerUID(applicationContext)?.let {
    Purchasely.setAttribute(Attribute.APPSFLYER_ID, it)
}
Purchasely.setAttribute(
	Attribute.APPSFLYER_ID,
	AppsFlyerLib.getInstance().getAppsFlyerUID(this)
);
appsFlyer.getAppsFlyerUID((err, appsFlyerUID) => {
  if (err) {
    console.error(err);
  } else {
    Purchasely.setAttribute(Attributes.APPSFLYER_ID, appsFlyerUID);
  }
});
var  getUserIdCallbackFn = function(id) {
alert('received id is: ' + id);
}

var appsFlyerId = window.plugins.appsFlyer.getAppsFlyerUID(getUserIdCallbackFn);

Purchasely.setAttribute(Purchasely.Attribute.APPSFLYER_ID, appsFlyerId);
appsFlyerSdk.getAppsFlyerUID().then((AppsFlyerId) {
  Purchasely.setAttribute(PLYAttribute.appsflyer_id,AppsFlyerId);
});

2. Activating the AppsFlyer integration

The activation requires 3 steps:

  1. Retrieving your app id in the AppsFlyer Dashboard (iOS and / or Android)

  2. Retrieving your API key in the AppsFlyer Dashboard (iOS and / or Android)

  3. Enabling the AppsFlyer integration in the Purchasely Console

a. Retrieving your app id in the AppsFlyer Dashboard

  1. Go to your AppsFlyer dashboard: https://hq1.appsflyer.com/apps/myapps

  2. You will find your app's ids beneath their names

b. Retrieving your API key in the AppsFlyer Dashboard

  1. Using the app's top right menu, access your app's settings

3. You will find your app's API key at the top of the page

4. (optional) repeat for your Android / iOS app

c. Enabling the AppsFlyer integration in the Purchasely Console

2. Access your apps Integrations' settings

3. Access the AppsFlyer Integration's Settings

4. Enable the AppsFlyer integration

5. (iOS) Set your iOS AppsFlyer app's API key & app ID

6. (Android) Set your Android AppsFlyer app's API key & App ID

7. (optional) Override the name of events sent to AppsFlyer

8. Save

Testing your integration

To test your integration, you can perform a set of in-app purchases in a Sandbox environment (eg: TestFlight for the App Store).

Bear in mind that events can take up to 24 hours to show up in your AppsFlyer dashboard.

The following events can be sent from Purchasely to AppsFlyer to associate them to your campaigns. You can find the full list .

See or Appsflyer documentation for more information

Go to your AppsFlyer dashboard:

1. Visit

here
iOS
Android
https://hq1.appsflyer.com/apps/myapps
your Purchasely app's console
Appsflyer