paywallObserver mode - Checking your Purchasely Integration

This page gives you an outlook of everything you can check once you've finished the implementation of the Purchasely SDK

Here is a checklist for your Purchasely Integration

0. The App is properly set up and plugged with the app stores

📚 Documentation: Application setup

  • You have configured the app basic parameters

Subscription apps only

  • You've configured one Product & Plan and mapped it with the App Store and Play Store product IDs (📚 documentation)

1. The SDK is properly initialized

📚 Documentation: SDK Initialization

  • The SDK is started ASAP in the start routine of your app

Subscription apps only

  • The running mode parameter is set to paywallObserver mode (📚 documentation)

  • On iOS, the StoreKit version configured for the SDK matches the desired one (we strongly recommend using StoreKit 2 though)

  • In the Console App settings, you have configured the StoreKit 2 settings (issuer ID, private key).
    It will be useful to the Purchasely platform to fetch more accurate data even if your app is currently working with StoreKit 1.

2. Deeplinks are properly handled

📚 Documentation: Deeplinks management

Technical instructions

  • You have filled-in the app scheme parameter in the Purchasely Console for both iOS (tab App Store) and Android (tab Play Store)

    Note: for Android, we recommend you to use Universal Links rather than an app scheme because the OS does not allow you to open deeplinks leveraging an app scheme from the camera which is what you will need to for the preview


  • You have integrated the code snippet to manage deeplinks
  • You execute the code allowing the Purchasely SDK to open deeplinks

Functional test

  • When you create a Screen and save it in the Purchasely Console, you are able to preview it in your app by scanning the QR code

  • When copy / pasting a Screen deeplink from the Purchasely Console and opening it with your device, you are able to visualize the desired Screen


3. Users are properly identified

Managing signed-in users

  • The User ID is properly set when users sign-in

  • When users are already signed-in upon the start of the app, the user_ID is provided to the SDK in the initialization method.

  • When users sign-in during the session, the userLogIn method of the SDK is being properly called (📚 documentation)


Signing-out users

  • The log out method is properly called when users sign-out


4. Screens are displayed through Placements

  • You have displayed a Screen by associating it with a Placement and by making a direct call to the placement on the app side (📚 documentation)

  • [Optional] - Alternatively, you've leveraged deeplinks to display Placements (📚 documentation)

  • [Optional] - You've leveraged Placement pre-fetching (📚 documentation) when you need to fetch a Screen in advance and display it later, or when you want to nest a Purchasely view into a parent view (📚 documentation and example with inline paywalls)

[Optional] A/A testing your paywall

  • You created a Screen leveraging the feature "Use Your Own Paywall" (📚 documentation) and implemented the code to display it

  • You have configured and started an A/A test with your own Paywall as the control (50%) and the Purchasely Screen as the variant (50%) for a particular (set of) Placement(s). 50% of the users see your existing Screen, and the other 50% see the new one designed with Purchasely

5. Transactions are properly processed

  • A Plan has been properly configured and mapped with a Paywall

  • When users tap on the purchase button, you leverage the Paywall Action Interceptor to process the transaction (📚 documentation)

  • After the transaction has been processed, you synchronize it with the SDK (📚 documentation) and close the paywall

  • When testing a purchase in the sandbox environment, you can find the transaction in the Purchasely Console

For more details on Sandbox purchases and sandbox testing, please refer to the 📚 documentation.



6. [Optional] You are properly leveraging Custom User Attributes to segment users

📚 Documentation: Segmenting you user base

  • When that makes sense, you leverage Custom User Attributes (📚 documentation) to attach properties to users and be able to segment them with your own data

Technical instructions

  • You have created the Custom User Attributes in the Purchasely Console

  • You properly set the attribute and its value

  • You have created an Audience leveraging the Custom User Attribute (📚 documentation)

Functional test

  • You have associated a customized the Screen displayed for your Audience on the Placement of your choice

  • When you display this Placement inside the app and that the user belongs to that Audience, you see the associated Screen instead of the default one displayed to Everyone else.

8. [Optional] You fetch user insights in the app upon a survey submission

📚 Documentation: Gaining Insights and Driving Personalization with Surveys


Technical instructions

  • You have implemented the listener / delegate for Custom User Attributes (📚 documentation)


  • You have configured a Survey leveraging the MCQ component, activated option "Save as a custom user attribute" and associated the MCQ to the Custom User Attribute created

Functional test

  • When users answer to the Survey created, the app fetches the {key, type, value} of the Custom User Attribute

  • This data is sent to wherever you choose to send it to (e.g.: backend, data warehouse, 3rd party analytics, 3party engagement / CRM platform...)

  • You have created an Audience leveraging the Custom User Attributes and are able to tailor the Screen viewed depending on user insights.

9. [Optional and advanced] You process the UI / SDK events generated by the SDK and forward them to your analytics platform

Technical instructions

  • You have implemented the listener / delegate for UI / SDK Events (📚 documentation)

  • [If relevant] You have associated the 3rd-party analytics / engagement SDK user_ID and passed it to the Purchasely SDK

Functional test

  • When you interact with Purchasely Screens, you see the Purchasely UI / SDK analytics in the 3rd party analytics / engagement platform you've forwarded them to

10. [Optional and advanced] You leverage the Purchasely Server Events to fetch the subscription lifecycle events and process it

Webhook

  • You have implemented an endpoint on your backend to receive the Server Events generated by Purchasely


  • Every time an event is generated in a subscriber lifecycle, you see it flow in your data warehouse

3rd-party analytics integration

📚 Documentation: Combining Analytics Platforms with Purchasely)

  • You have enable the 3rd party integration with the desired analytics platform

  • You have activated the desired Server Events

  • [If relevant] You have associated the 3rd-party analytics SDK user_ID and passed it to the Purchasely SDK

  • When subscription lifecycle events are generated by the app stores, they are automatically forwarded to the 3rd-party analytics platform and you can visualize them into your analytics platform

3rd-party engagement & CRM integration

📚 Documentation: Combining Engagement/CRM platforms with Purchasely)

  • You have enable the 3rd party integration with the desired analytics platform

  • You have activated the desired Server Events

  • [If relevant] You have associated the 3rd-party analytics SDK user_ID and passed it to the Purchasely SDK

  • When subscription lifecycle events are generated by the app stores, they are automatically forwarded to the 3rd-party engagement & CRM platform and you can create automations leveraging these events and user properties