iOS - Remote Push notifications do not reach the test devices?

iOS - Remote Push notifications do not reach the test devices?

Remote Push Notifications for iOS devices have many moving parts that can cause issues. Let's explain the most common scenarios:

 

1. App Bundle ID declared in the App is different than the one declared when requesting the APNs Certificate.

APNs depends on the App Bundle ID to know what devices have registered tokens under that App Bundle ID. So if there is a mismatch, APNs will send the Remote Push notifications to the Certificate declared App Bundle ID. 

 

2. Device does not create the Remote Push Token.

The App requires that both capabilities and MOCAconfig.plist are correctly configured in order to be able to use the system libraries involved in generating the Remote Push token.

 

3. The App is declared as Development in the MOCA Console but the certificate uploaded is a Production certificate.

This one is common as certificate mismatch causes a difficult to track issue. Until the App reaches testflight or is published in the AppStore, the device will identify itself as development. This means the Developer Certificate needs to be used on Apps that are not published to AppStore/Testflight, and the App created in MOCA must be under the status "Development - connecting to test servers". This will use the APNS sandbox. Before the App is published, a new MOCA Console App must be created, with the status set as "Production - Connecting to live servers". Some platforms. like Fabric, require you define the app entitlements to know what certificate to use. Rule of thumb is that a Production App needs a production certificate and also a production status in the MOCA Console.

 

4. The Remote Push Token never reaches our servers.

Network connectivity is paramount as we need to receive the data package that contains the up to date token. Once it's received, the device needs connectivity as remote push notifications are network data reliant.

    • Related Articles

    • Testing iOS Remote Push in Production

      Here, at MOCA, we strongly recommend creating two environments to test the correct integration of the Remote Push functionality of our SDK. The reason is simple: APNs has a strict set of rules in how to test production defined Apps, and it can create ...
    • iOS: Why did Push notifications work in development but not in production?

      Why did Push notifications work in development but not in production (iOS)? This is a common question. Apple uses basically two servers for their APNS protocol: one is their sandbox (for testing purposes) and the other is for production (live). When ...
    • iOS 13 and MOCA SDK

      MOCA iOS SDK has been tested on BETA versions of iOS 13. Find the version notes below: - MOCA SDK for iOS uses the CoreBluetooth framework in order to monitor bluetooth status. In iOS 13 the mere fact of using any of the CoreBluetooth methods will ...
    • Troubleshooting Geofences not being triggered

      Geofence triggering is affected heavily by mobile device configuration. Each device depends on the connectivity status, location status and permissions granted to the MOCA SDK.  General troubleshooting steps on every device: Check that there is ...
    • MOCA iOS SDK LOG_LEVEL Settings

      You can set a variety of logging levels for our SDK in the MOCAconfig.plist file, under the LOG_LEVEL variable:   LOG_LEVEL Description Off Log is turned off at SDK level. Error Shows only error events. Warning Shows only warning events. Info Shows ...