Customers Do Not Receive Push Notifications

Last updated:

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

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