Understanding iOS & Android push permission

On iOS and Android 13 and higher, users must give consent to receive push notifications from your app (or "opt-in"). Users who didn't see the push permission prompt or refused to receive push notifications are considered as "opt-out".

iOS and Android push permission prompts are similar:

  • On iOS, the permission prompt can only be displayed once. On Android, users can tap in the grey area to dismiss the permission prompt. It will be displayed again the next time users open the app.

  • The wording of the push permission prompts cannot be customized.

  • Developers can choose when the permission prompt is triggered (e.g. after a pre-permission screen, as part of the onboarding tutorial, presenting why you are asking users to turn on push notifications. See more here).

  • Users who don't allow push notifications cannot trigger the push permission prompt again later. They need to go to the system settings to grant the push permission for your app.

  • On Android, the system (via Play Protect) will automatically revoke the push permission for long-time dormant users.

Creating a re-opt-in campaign using In-App messages

Getting opt-out users to turn on push notifications is key to reengage efficiently your audience, especially in the first 7 days following the app install. This can be done in a couple of minutes using an In-App message.

👉 Batch In-App messages are the most powerful way to convince your opt-out users to activate push notifications. Re-optin In-App campaigns allow you to efficiently invite your opt-out users to turn on push notifications and give you an additional lever to bring these users back into the app. Batch advanced targeting and personalization features give you the ability to display that In-App message after a meaningful action, in the right context:

  • Media: When users reach the end of an article, create or log into their account, get a premium subscription, etc.

  • Retail: When users add an item to their wish list, add a favorite brand, or after the checkout to be sure they get alerts on their delivery.

  • Etc.

Pre-requisites

Here is the list of prerequisites for setting up your opt-in campaigns:

  • SDK: On Android, make sure your app includes the 1.19.2 version of Batch SDK (or higher). Your Android app must also target, at least, Android 13 (API 33). Install the latest version of your app and find your install in the debug tool (Settings → Debug) to check the current version of Batch SDK used in your app.

  • Tagging plan: Make sure all the user actions you are planning to use as triggers for your In-App message are tagged as events with Batch SDK. On Batch dashboard, go to Settings → Custom Data → Events to check the list of events available as trigger events. If the action needed is missing, your developers will need to tag it following Batch documentation: iOS / Android / Cordova / Flutter / React Native.

Campaign creation

You will need to create an In-App campaign using the following instructions:

1. Targeting

Add the "Push opted-in" condition to your targeting and set it to "No" to target exclusively users who didn't turn on push notifications. We also recommend you turn on the "Re-evaluate targeting just before display" option to improve your In-App campaign behavior.

On Android, make sure you add a condition to target exclusively Android 13 (and higher) users:

2. Trigger conditions

Here is where you choose when the re-opt-in campaign will be triggered:

  • Display event: NEW SESSION triggers the display of the In-App when the app is opened. However, we recommend using a custom event linked to specific action sent to Batch through your tagging plan. Select an event triggered after an engaging action from the user: signing up or logging in to your app, adding an item to the cart, etc.

  • Capping: this feature helps you to control marketing pressure. In the example below, we have set a capping of 2 and a 72 hours grace period. A user will see the In-App message 2 times maximum, with a delay of 3 days minimum.

3. Message edition

Then, simply edit your message:

  1. Select the In-App theme you want to use, in the format adapted for your use case (e.g. banner, modal, full screen, image, or webview). If you do not have a theme yet, create one from Settings → Theme → New theme.

  2. Add a wording for the text and the buttons of your message, according to your theme.

  3. Configure the button action: Choose the "Smart push re-optin" option as primary action. You can add another action for advanced use cases (e.g. track an event when users click "later" to show them another In-App message later.)

The effect of clicking a button tied to the "Smart push re-optin" action will vary depending on your users.

  • If users never triggered the push permission prompt → Batch will trigger the push permission prompt, allowing users to turn on push notifications.

  • If users already triggered the push permission prompt and didn't turn on notifications → Batch will direct users to the system settings, in the section dedicated to your app, where users will be able to turn on push notifications.

Did this answer your question?