This article describes various issues that could lead to push notifications (PN) not be delivered to the end user and offers advice on how to address them.
Currently the only scenario that involves the Futurae backend sending a visible push notification to the end user is when performing a One-Touch authentication attempt, yet there are a few reasons that may cause the notifications to not be delivered.
Invalid or expired server-side PN credentials
This is one common reason for failed push notifications in customer apps which integrate the Futurae mobile SDK. This case is relatively easy to identify, as it will be affecting all the users of a specific platform (iOS or Android).
Futurae currently supports the following types of push notification credentials:
- Apple Push Notification service (APNs) credentials: Composed by the APNs Certificate and key, it's used to authenticate to the APNs when sending push notification messages to iOS devices.
- Google Firebase Cloud Messaging (FCM) credentials: Composed by the FCM Sender ID and Server key, it's required to send push notifications to Android devices through the FCM backend.
If the push notification credentials configured for one of your Futurae mobile SDKs have expired or might have been incorrectly configured in the first place, please follow these steps:
- Get your current APNs or FCM credentials from your Apple developer account or Firebase console respectively
- Login at Futurae Admin
- Select the Futurae Service on the left panel
- Head to "Settings" >> "Mobile SDK"
- Update the APNs/FCM credentials and save
Note that if you are using the Futurae mobile app or a Futurae white label app, you don't need to worry about this, as Futurae takes care of the necessary PN credentials configuration.
Push token outdated
This case also applies only to customer apps that integrate Futurae mobile SDK.
Sometimes, the app's registered push token for APNs/FCM may be automatically refreshed. The app should receive the new push token from the OS and would need to always communicate it to the Futurae backend using the functionality provided by the Futurae mobile SDK. If the push token is not communicated to the Futurae backend in time, it will result in push notifications not being delivered to the particular device and user. Other users and devices of the same Futurae Service, for which the Futurae backend already has the correct push token, will not be affected.
The customer app which integrates the Futurae mobile SDK is responsible for registering the app (as targets for push notifications) on APNs/FCM using each platform's (iOS/Android) provided functionality. As a result, the app receives a push token (used to identify the target device on the respective push notification server) that needs to be registered on the Futurae side using the Mobile SDK methods for Android(
registerPushToken) and iOS (
didRegisterForRemoteNotificationsWithDeviceToken). The push token registration. needs to happen both at the very first time, as well as every time the push token is refreshed as mentioned above.
Device configuration and intermittent connectivity issues
Assuming that the APNs/FCM credentials are correctly configured on the Futurae backend, as well as each device's push token gets correctly registered, then user device configuration, intermittent network connectivity issues, as well as intermittent delays in APNs/FCM delivering the push notification are the most common reasons for not prompt delivery.
In case that the user device is offline or under poor network conditions, APNs/FCM may not be able to deliver the push notification. Once the user comes back online, all non expired push notifications, will be delivered.
Moreover, device-specific configuration (such as, push notification permissions for the particular app, do not disturb mode, as well as a particularly restrictive corporate network or VPN) or even application (such as, push notification blockers) may prevent push notifications from being delivered.
It is important to note that all of the causes mentioned in this section are completely out of Futurae's control. Once the Futurae backend connects successfully to APNs/FCM and uses a valid push token to deliver the PN payload to APNs/FCM, Futurae cannot subsequently control any of the above mentioned factors that might result in a delayed or no delivery of the push notification to the user's app.
Performing One-Touch even if no notification is delivered
It is important to highlight that even if push notification is not currently delivered for whatever, the user may still be able approve a One-Touch login or transaction.
The Futurae app and Futurae white label apps, whenever brought to foreground, will check if there are any pending authentication attempts and in case there are, the app will automatically fetch the required information and display the approval screen, enabling the user to approve a One-Touch session despite the notification being not delivered.
This same capability can be achieved by customer apps which use the Futurae mobile SDK. For that you just need to make sure that your app follows our Account Status instructions for Android and iOS, whenever brought to foreground, or using some other kind of trigger. For example, an explicit "refresh" functionality in the UI of the app which enables the user to actively check for pending authentication sessions.