Push notification troubleshooting
A troubleshooting guide for when a notification does not arrive, or does not arrive to the right people. Follow the order: it goes from the most frequent cause to the least.
The user receives no notifications at all
Section titled “The user receives no notifications at all”Checks
- Did they accept notifications? If not, there is no
token_md5for that device and there is nothing to send to. - Did they uninstall and reinstall the app? The token changes; the old one is no longer valid.
- Do they have notifications turned off in the system settings for that app?
- Is the token included in the audience of the send?
Common causes
Permission never granted, an obsolete token after a reinstall, or targeting that did not include that device. See users, devices and tokens.
It arrives on some devices but not others
Section titled “It arrives on some devices but not others”Checks
- Does the pattern follow the operating system? A failure only on iOS or only on Android points to that platform’s configuration.
- Do the devices that do not receive it have old tokens?
- Was the audience built from a CSV exported some time ago?
Common causes
Normal degradation of the token base, or an audience built on outdated data.
The notification arrives but does not open the right content
Section titled “The notification arrives but does not open the right content”Checks
- Is the URL in the
urlfield correct and public? - Does it belong to a domain associated with the app? See deep links.
- Has the URL been rewritten by a tracking tool?
The API send returns an error
Section titled “The API send returns an error”Checks
- Is the
x-api-keyheader correct and is the key still active? - Does the payload include the required fields:
title,headingand the recipients indeviceId? - Is
dateEnd, if you send it, a Unix timestamp in seconds and in the future? - Are the
deviceIdvalues current hashed installation IDs and not identifiers of another kind?
What to send to support
Section titled “What to send to support”The more of this information the ticket includes, the less back and forth:
- App identifier and environment.
- Approximate date and time of the send, with time zone.
- How the send was made: backoffice or API.
- If it was via API, the payload sent without the API key and the response received.
- One or two specific identifiers of devices that did not receive the notification.
- Operating system and version of the affected devices.
- Whether the problem is widespread or only on some devices.