How to implement mobile push on iOS/Android?

Welcome to Batch!

Batch allows you to communicate with your customers on every contact point on mobile and desktop sending push notifications or displaying In-app messages.

A full integration of Batch takes a week on average and is divided into five steps:

  1. Account creation - Required

  2. SDK integration - Required

  3. API setup - Optional

1. Account Creation

You can create an account now on https://batch.com/register.

We recommend that you invite your team members from the account manager section, in the bottom left corner of your dashboard, under "My team" > "Add member".

Feel free to contact us at [email protected] if your account is not on the correct plan.

2. SDK Integration

Once your account is created, add your first apps to the dashboard and follow the instructions described in the documentation: iOS / Android / Flutter / React native / Cordova.

  • SDK integration

  • Push setup

  • In-app messaging setup

We recommend these additional steps after completing the basic integration:

  • Rich push notifications (iOS only): iOS / Flutter / React Native / Cordova.

  • Notifications icon (Android only): Set a small icon and a custom accent color. More information is available here for Cordova / React Native.

  • Do Not Disturb mode: You should set the Do Not Disturb mode on the pages of your app where In-App messages should not be displayed (iOS / Android / Flutter / React Native / Cordova). In particular, to manage the display of In-App Messages with the splashscreen with the Android native SDK, you should implement the Excluding activities feature to exclude the splashscreen from the Batch start cycle.

  • Improved debugging: Display the Installation ID generated by Batch safely in your app to help users report issues with push notifications or allow your team to add their device as a test device (iOS / Android).

These optional steps might be necessary depending on your needs:

  • Custom In-App font: You can set a custom font for In-App Messages and Mobile Landings to align with your brand guidelines (iOS / Android / React Native).

  • Provisional authorization: On iOS versions higher than 12, you can add support for provisional notifications to push users who did not opt in for push notifications.

  • Analytics integration: Make sure you integrate an event dispatcher to connect Batch to your analytics tool and improve the campaign conversion tracking (e.g., Google Analytics, Firebase Analytics, AT Internet, etc). More information here: iOS / Android.

3. Profile Data Collection

In addition to the data the SDK collects natively in your app, you can collect Profile data to improve your user segmentation.

Custom User ID

Batch can collect a unique user ID (iOS / Android / Flutter / React Native /Cordova) that will uniquely identify user Profiles and centralize profile data from attached devices. This is a recommended step if your app has a login wall or if users can create an account inside your app.

You can use that Custom user ID with the Profile API to:

  • send events to trigger 1-to-1 push notifications to one or several user IDs (e.g., package delivery notification, etc) ;

  • send profile data (attributes, events, or arrays) to Batch to enrich a user's profile data.

User ID collection also allows your teams to target with one click users who are/are not logged in (see has custom user ID).

Custom Language/Region

Batch automatically detects the language and the country of your users’ devices.

If your app is available in multiple languages and/or multiple countries, we recommend that you overwrite the values automatically detected by Batch: iOS / Android / Flutter / React Native / Cordova.

Tagging Plan

In addition to the data collected natively by the SDK (e.g., last visit date, installation date, etc), you can collect additional information on your users:

  • Profile data: Attributes (e.g.: is_premium = true) or arrays (e.g., favorite_sports = ["football", "rugby", "tennis"]).

  • Actions: Events triggered when users perform a specific action in your app (e.g.: read article, item added to cart, etc). For every action, you can collect contextual information as event data (e.g., category of the read article, a list of items added to the cart, etc).

That information can come from:

  • the SDK integrated into your app,

  • or your servers through the Profile API. This is useful if the information you need to track is not available in the app or if it can change when users don't open the app (e.g., when they purchase an item on your website etc).

The tagging plan is the list of all the attributes, arrays, and events collected by the SDK or sent to Batch through the Profile API. You can use that data to segment your profile base, trigger In-App messages, or dynamically replace values in your messages (e.g. {{firstname}} check out our new offer).

Our team can help you build your first tagging plan in 3 steps:

  1. Brainstorming: Feel free to send us all the information that will help us build a first tagging plan. This includes existing tagging plans from other tools, campaign ideas or credentials if the app requires a specific account creation.

  2. Proposal: Our team will send you a first version of the tagging plan we will review and update based on your feedback.

  3. Approval and integration: Finally, you will need to send the tagging plan to your developers or your agency for integration.

Test and Release

Before releasing your apps to the stores, please follow the steps from these guides to review the implementation:

4. Push token migration

Batch can import existing tokens in case you migrate from another push provider.

In this case, please refer to our documentation on migrating Mobile Push to Batch.

5. API setup

With Batch RESTful APIs, you can easily send profile data and trigger push notifications to leverage Batch’s engagement features:

  • The Profile API allows you to create and enrich user profiles with profile data such as attributes, events, and arrays. This data can then be used to create segments or trigger messages.

  • The Campaign API allows you to send one-shot push notification campaigns to your segments built based on chosen criteria.

  • The Export API allows you to retrieve your campaigns' performance data to feed your analytics or BI tools with more insights.

Last updated

Was this helpful?