If you are not receiving any of the notifications sent from Batch, here are some suggestions to find the issue.
Keep in mind the issue may happen:
- At your campaign level
- At the integration level
- At the device level
1. Send a test notification
Try to send a test notification to your device from the debug tool:
You may notice different issues from the debug tool:
a) I cannot find my install
Make sure you have opened the app once and the version you installed includes Batch's SDK.
b) No token found
The token field may be empty. Make sure the installation date you see in the debug tool makes sense. If the installation date is not correct, try opening the app after installing it.
If the installation date is correct, the SDK may have trouble indexing your token, please look for errors in the logcat of your app.
c) "not_registered" error
The token you are targeting is not valid anymore, probably because you have recently reinstalled the app. You will need to update it from the debug tool by clicking the "save as a test device" button.
d) "gcm_mismatch_sender_id" error
On Android, tokens are linked to a specific sender ID. GCM/FCM will systematically send this error when a token is pushed with the wrong sender ID.
Go to Batch's settings → Push Settings and ensure you are using the same Sender ID you were using with your old push provider. You can also add another server key if you are using different Firebase projects between the development and the production environment (see more here).
2. Energy-saving features
Some energy-saving features included by your phone manufacturer (e.g. Asus, Huawei, Xiaomi, ZTE, Samsung, etc) or utilities installed by your users (e.g. ram booster, etc) may prevent notifications from being displayed. They usually kill the app when it runs in the background, not allowing it to display notifications (see more here).
You may need to whitelist your app from your phone settings or disable these custom energy-saving features to fix the issue.
You can also go to your phone settings → Apps to see if your app is force closed.
3. Network issues
Connect your device to a 3G/4G network or try to disconnect/reconnect to your WiFi network.
4. Integration issue
Starting with Android 8.0, all apps targeting API 26 or higher must use notification channels. Your Batch SDK version or custom receiver might not support it. See here to know more on the Notification Channels.
5. Campaign targeting
If notifications are enabled and your device can receive test push notifications, double check the targeting of your campaign:
Ensure it matches the information you see from the debug tool (Dashboard Settings → Debug).
6. Campaign Scheduling
See if you scheduled your campaign based on local time or global time (UTC):
The Local Time option lets you send a push notification that will be received at the same hour in every country. For example, if your push campaign is scheduled to be sent on Friday, July 19th at 6PM, your Canadian, Italian and Chinese users will receive it on Friday, July 19th when it's 6PM in their country.
The Global Time (UTC) option allows you to send a push notification to your users at a specific UTC time regardless of their location. If your push campaign is scheduled to be sent on Friday, July 19th at 6PM global time (UTC), your users will receive it:
- At 2PM in Canada (UTC -4)
- At 8PM in Italy (UTC +2)
- At 2AM on July 20th in China (UTC +8)