Customers Do Not Receive Push Notifications
If the customers have an integrated native mobile application, you may want to send push notifications to their phones. This guide indicates the steps you should follow if someone does not receive notifications after performing a blast.
Troubleshooting Guide
- The tokens and the corresponding application certificates are loaded
- The customer has at least a token loaded
- The native application integration receiving the notifications uses the correct application token
- Republish the campaign
- Analyze logs and export results
The tokens and the corresponding application certificates are loaded
When setting up a push notification, you select an application to deliver the messages:
This application must have the Android token and the iOS certificate loaded with its key correctly. The latter must be in p12
format.
The customer has at least a token loaded
Within the User Information section in the client view, you can see if it has any push notification tokens defined:
The native application integration receiving the notifications uses the correct application token
Typically, native apps register the token for notifications in a callback. This feature requests authorization from the users to send them push notifications. For example, in iOS:
This callback uses the Client.shared
global instance, which is initialized through an application token:
In this case, the 3f664456-5a39-4143-b707-0a25b8c28f58
token must match the app under validation as explained above.
Republish the campaign
The application data with its credentials (tokens, certificates, or passwords) freezes its definition when publishing the campaign. If the app configuration data is updated later, this will not take effect until the campaign is published again.
Analyze logs and export results
Often, notifications fail because the user has an expired token associated with the delivery. To confirm this, export the results and analyze the logs.
To configure the export, activate Export raw data in the Conversion tab of the campaign:
Then download the results from the analysis view:
In this case, we can see the results obtained for multiple clients:
"5fa2e043-cab0-45f2-9258-50da67833231";"Envio Pushes";"";"";":failed";":reached";"pushn";"2020-11-04T17:15:22";"2020-11-04T19:12:50";"";"";"";"";"";"delivery-failure";":reached";"6"
"5fa2e043-cab0-45f2-9258-50da67833231";"Envio Pushes";"";"";":failed";":failed";"pushn";"";"";"";"";"";"";"";"no-valid-address";":no-contact";"0"
"5fa2e043-cab0-45f2-9258-50da67833231";"Envio Pushes";"";"";":failed";":failed";"pushn";"";"";"";"";"";"";"";"delivery-failure";":no-contact";"0"
"5fa2e043-cab0-45f2-9258-50da67833231";"Envio Pushes";"";"";":failed";":failed";"pushn";"";"";"";"";"";"";"";"no-valid-address";":no-contact";"0"
When no-valid-address
appears, it means that the person did not have a valid token at the time. On the other hand, delivery-failure
represents an issue when trying to deliver to the associated token. To see the failure, refer to the log according to the platform.
-
For failures in iOS:
grep "Message delivery" prisma.log Message delivery for d9b83273b379510930624ea5f5314065f01b0b21c57884c383723eb8ccfe2be8 rejected {:accepted? false, :rejection-reason BadDeviceToken, :token-expiration-ts nil}
-
In Android:
grep "Error deliverying Android" prisma.log
Related Articles
On this page