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:
Account creation - Required
SDK integration - Required
Profile data collection - Optional
Push token migration - Optional
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".
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
On Android, make sure you choose an existing project instead of creating a new one on Firebase if you are migrating from another push provider.
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.
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.
You can find a sample of the SDK integration here: iOS / Android / React Native / Flutter.
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.
Don't know what ID to choose? Refer to our dedicated guide: How to choose the right Custom User ID to use in Batch?
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).
We strongly advise you against using a tagging plan coming from an analytics tool or another CRM, since it may not work correctly with Batch.
Our team can help you build your first tagging plan in 3 steps:
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.
Proposal: Our team will send you a first version of the tagging plan we will review and update based on your feedback.
Approval and integration: Finally, you will need to send the tagging plan to your developers or your agency for integration.
Your developers can start the basic integration of the SDK while the tagging plan is being discussed. The tagging plan is usually planned at the very end of the 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.
Feel free to check our web push integration guide if you also want to send notifications to the visitors of your website.
Last updated
Was this helpful?