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
Token migration - Optional
APIs setup- Optional
1. Account Creation
You can create an account now on https://batch.com/register.
We recommend you to invite your team members from the account manager section, in the bottom left corner of your dashboard, in "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
There are two extra steps we recommend you take after a basic integration:
Rich push notifications: On iOS, add support for rich push notifications.
Notifications icon: On Android, set a small icon and a custom accent color.
Provisional authorization: On iOS 12, you can add support for provisional notifications to push users who did not opt in for push notifications.
On Android, make sure you choose an existing project instead of creating a new one on Firebase if you are migrating from an other push provider.
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 users can select a region or a language from your app settings, we recommend 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.
Please note 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
Once the tagging plan is integrated, you can send test builds to our team for iOS and Android and create a test In-App Campaign. We will run a full test of the integration to make sure everything is working as expected.
You can also use the Profile view from Profiles → Search Profiles at any moment to test the integration of the SDK and the data collection.
4. Token Migration
Batch can import existing tokens in case you migrate from another push provider. Once the app is live with Batch’s SDK, you can send us an export in the format described in the documentation. Batch will automatically delete the invalid tokens.
A new "Imported users" filter will be available for targeting, and imported tokens will be progressively analysed and attached to active profiles after their first session.
5. APIs 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.
Depending on the use cases you plan to set up, we can help you through the use of these APIs.
Need Assistance?
Our technical team is reachable via the “live chat” in the bottom right corner of every page of the dashboard (median response time lower than 3 minutes from 9 am to 7 pm on working days).

You can also contact us using our universal support address [email protected] read by our team.
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?