OneSignal

Why combine OneSignal 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 OneSignal SDK also needs to be integrated inside the app.

Subscription events

General overview

OneSignal is one of the leading customer engagement solutions for Push Notifications, Email, SMS & In-App.

This integration will allow you to get all Purchasely subscription events to OneSignal making you able to trigger automated communication based on those events, messages that could be linked to a Purchasely powered paywall to engage, upsell, retain customers.

Purchasely provides a unified dataset to track the subscription events for all stores. These events are generated by the Purchasely Backend and your OneSignal users' can be updated accordingly.

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

Events

The following events are the main ones that will trigger an udpate of your OneSignal users by Purchasely. See the full list here.

EventDescription

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

SUBSCRIPTION_EXPIRED

Sent when the subscription actually ends

SUBSCRIPTION_REACTIVATED

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

SUBSCRIPTION_REFUNDED_REVOKED

Sent when the subscription actually ends

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

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

Properties

The following properties are the main ones this integration can set and update in your OneSignal users as tags:

PropertyDescription

USER_ID

Contains the user_id that holds the purchase.

PLAN

Contains the Plan id that was bought.

SUBSCRIPTION_STATUS

Filled for events that regards a subscription.

Possible Values :

  • AUTO_RENEWING

  • ON_HOLD

  • IN_GRACE_PERIOD

  • AUTO_RENEWING_CANCELED

  • DEACTIVATED

  • REVOKED

  • PAUSED

  • UNPAID

STORE

Contains the name of the Store through which the purchase was made.

Possible values:

  • APPLE_APP_STORE

  • GOOGLE_PLAY_STORE

  • AMAZON_APPSTORE

  • HUAWEI_APPGALLERY

STORE_COUNTRY

Contains the store country where the purchase was made.

PURCHASED_AT

Contains the date of the last transaction (original purchase or renewal).

NEXT_RENEWAL_AT

Contains the next automatic renewal date**.**

OFFER_TYPE

Contains the current offer the subscription is under.

Possible values:

  • NONE: the user is paying the normal price, no offer associated

  • FREE_TRIAL

  • INTRO_OFFER

  • PROMO_CODE

GRACE_PERIOD_EXPIRES_AT

Contains the date when the grace period will end.

LAST_EVENT

Name of the last event received for that subscription

IS_FAMILY_SHARED

Contains true or false depending on if the user has access to the subscription thanks to family sharing.

OFFER_IDENTIFIER

Contains the promo code used at the time of the purchase.

ORIGINAL_PURCHASED_AT

Contains the date of the first transaction.

The properties' names set in OneSignal can be overriden when setting up the integration.

Integrating Purchasely with OneSignal

The integration requires 2 steps:

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

  2. Activate the OneSignal integration in the Purchasely Console

1. Associating users to events

See the OneSignal Documentation for more information

if let oneSignalPlayerId = OneSignal.getDeviceState()?.userId {
	Purchasely.setAttribute(.oneSignalPlayerId, value: oneSignalPlayerId)
}

2. Activating the OneSignal integration

The activation requires 2 steps:

  1. Retrieving your app id and API key in the OneSignal Dashboard

  2. Enabling the OneSignal integration in the Purchasely Console

a. Retrieving your app token and your app's API key in the OneSignal Dashboard

  1. Log into your OneSignal dashboard: https://app.onesignal.com/login

  2. Access your App

3. Got to your App's Settings

4. Access the "Keys" submenu

5. Your app’s app id is beneath the OneSignal App ID title

6. Your app's API key is beneath the Rest API Key title

b. Enabling the OneSignal integration in the Purchasely Console

  1. Go in the "External integrations" section, and open the edition form for OneSignal:

2. Enable the integration

3. Set your OneSignal app id

4. Set your OneSignal app API key

5. Enable the properties you want to be set and updated as OneSignal tags for your users

6. (Optional) Override the property names that will be used when updating your users' OneSignal tags

7. 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) and verify your user's tags are properly updated in the OneSignal dashboard (https://app.onesignal.com/login).

If testing using Automated Messages, bear in mind that OneSignal automated messages are sent roughly every 4-6 hours if you are on a free plan, and within a few minutes if you are on a paid plan.

Dernière mise à jour

© Purchasely 2020-2023