Skip to main content

Problem

Common issues with Push notifications, including failed delivery, screen navigation, deep linking, and rich landing, are occurring on iOS devices using React-Native, Objective-C, and MoEngage-iOS-SDK (Versions 7.x.x, 8.x.x, 9.x.x).

Instructions

Perform the following steps:
  1. Firebase Proxy.
    • If you are not using Firebase push notifications, then disable the Firebase proxy by adding the FirebaseAppDelegateProxyEnabled key in info.plist with the value Boolean = False or NO.
    • Test the push notification. If successful, no further action is required. Otherwise, follow the steps below.
    • If you are using Firebase push notifications, skip this step and proceed with the following steps.
  2. Set UNUserNotificationCenterDelegate.
    • In AppDelegate.m, set UNUserNotificationCenterDelegate in the didFinishLaunch method.
    • If you are initializing Firebase in didFinishLaunch, do so before initializing the MoEngage SDK.
    • Ensure UNUserNotificationCenterDelegate is set at the start of this method.
      React-Native
  3. Extend AppDelegate.h.
    • Extend AppDelegate.h to conform to UNUserNotificationCenterDelegate. Your AppDelegate.h must resemble the following code snippets:
      Objective-C
  4. Disable MoEngage Proxy.
    • Add MoEngageAppDelegateProxyEnabled key in info.plist with the value Boolean = False or NO. boolean.png
  5. Pass Push Notification Token Manually.
    • Use the didRegisterForRemoteNotificationsWithDeviceToken function of AppDelegate.m to pass the push notification token manually.
      Objective-C
  6. Implement UNUserNotificatoinCenter Delegate Functions.
    • Ensure UNUserNotificatoinCenter Delegate functions are implemented in AppDelegate.m.
      Objective-C