If you are having trouble integrating the SDK, uploading your certificates or sending notifications, here are some suggestions.
There are several points you should check if Batch doesn't show any data on your dashboard:
- Dev/Live API key. Make sure that you used the Live API key in the build you uploaded to the store. Stats are only displayed for the Live API key.
- 24h delay. Installs, DAU, starts and redeems shown on the Analytics tab are updated on a 24h basis for the Live API key.
- Integration issue. If you still don't see any stats for your app 24h after changing the API key, see if you find anything related to Batch in your logs and double check your integration using the documentation.
There are several points you should check if Batch doesn't detect any device tokens:
- Push disabled: See if you have enabled the notifications for your app in the iOS settings (Settings → Notifications).
- Look for errors: Check your Xcode logs to see if Batch published any error messages.
- Provisioning issue: Make sure you have correctly set up your provisioning profile with Xcode.
If you are not receiving any of the notifications sent from Batch, here are some suggestions to find the issue:
- App opened: Make sure your app is not opened in the foreground during your tests. By default iOS only displays notifications for apps opened in the background: It only calls your delegate, which can be invisible to you if you don't log anything.
- Push disabled: See if you have enabled the notifications for your app in iOS settings (Settings → Notifications).
- Connection issues: Connect your device to a 3G/4G network or try to disconnect/reconnect to your WiFi network.
- Test notifications: Try to send a test notification to your device from the message editor ("Push" tab → "New push campaign" → "Send a test").
You may receive the same notification twice if you have reinstalled your app with different API keys, several times on the same device (Dev/Live). Rest assured, your users won't receive the same notification twice.
Make sure you have selected "My certificates" in the left pane of the Keychain application.
First, double check your certificate password. If your password is correct, make sure your certificate is not named "Apple Production IOS Push Services" or "Apple Development IOS Push Services". These are not supported anymore. You will need to generate a new production certificate if it's the case.
You cannot upload Apple's certificate directly. You will find more information on certificate generation here.
Development certificates or production certificates named "Apple Production IOS Push Services" are not supported anymore. Please generate a new .p8 certificate.
DeviceTokenNotForTopic errors happen when your app's bundle ID and certificate's bundle ID don't match.
Please ensure you set up your bundle ID correctly in your Xcode project settings.
BadDeviceToken errors can happen for two reasons:
- Invalid token: On iOS 9 and higher, your device token may change if you uninstall/reinstall an app. Please make sure your token hasn't change since your last tests. See how to obtain your token here.
- Wrong environment: If your device token is valid, make sure you have chosen the right environment (sandbox/production) from Batch settings (Settings → Push settings). You can find the right environment for your token with our debug tool.
If you see an "Invalid certificate" error, this means that:
- Legacy certificates: You are currently using a legacy certificate and the Development or the Production certificates are missing.
- Delay: Batch is still processing your certificates. Please try again in a few minutes and reach us if the problem persists.
If you are getting an unknown error, please contact us at email@example.com or by clicking on the question mark in the bottom right corner. Our team will try to find more details on the issue.
You can find the list of APNS and Batch internal errors in the Notifications tab, by hovering on the error count.
APNS can send this feedback when:
- Invalid token: The token Batch tries to push is not valid anymore. This usually happens when users uninstall/reinstall (iOS 9.x and higer) your app or disable notifications.
- Wrong environment: Make sure you are targeting the right environment (sandbox/production) for your token.
Happens when your app's bundle ID and certificate's bundle ID don't match. Make sure you set up your bundle ID correctly in your Xcode project settings.
Make sure the App ID/Bundle ID or the team ID you used for your P8 certificate are correct.
This internal error happens when the number of maximum send attempts is reached for a token. Feel free to reach us if you are seeing to many max_retry_attemps errors.