Skip to main content

問題

Native iOS、Swift、MoEngage-iOS-SDK(バージョン 7.x.x、8.x.x、9.x.x)を使用する iOS デバイスで、配信の失敗、画面遷移、ディープリンク、リッチランディングなど、プッシュ通知に関するよくある問題が発生しています。

解決策

次の手順を実行します。
  1. Firebase プロキシ:
    • Firebase のプッシュ通知を使用していない場合は、info.plist に FirebaseAppDelegateProxyEnabled キーを値 Boolean = False/NO で追加して、Firebase プロキシを無効にします。
    • プッシュ通知をテストします。成功した場合、それ以上の対応は不要です。成功しない場合は、以下の手順に従ってください。
    • Firebase のプッシュ通知を使用している場合は、この手順をスキップして次の手順に進みます。
  2. UNUserNotificationCenterDelegate を設定する:
    • AppDelegate.swift の didFinishLaunch メソッドで UNUserNotificationCenterDelegate を設定します。
    • didFinishLaunch で Firebase を初期化している場合は、MoEngage SDK を初期化する前に行います。
    • UNUserNotificationCenterDelegate がこのメソッドの冒頭で設定されていることを確認します。
      Swift
  3. AppDelegate.swift を拡張する:
    • AppDelegate.swift を拡張して UNUserNotificationCenterDelegate に準拠させます。AppDelegate.swift は次のコードスニペットのようになっている必要があります。
      Swift
  4. MoEngage プロキシを無効にする:
    • info.plist に MoEngageAppDelegateProxyEnabled キーを値 Boolean = False/NO で追加します boolean.png
  5. プッシュ通知トークンを手動で渡す:
    • AppDelegate.swift の didRegisterForRemoteNotificationsWithDeviceToken 関数を使用して、プッシュ通知トークンを手動で渡します。
      Swift
  6. UNUserNotificatoinCenter Delegate 関数を実装する:
    • AppDelegate.swift に UNUserNotificatoinCenter Delegate 関数が実装されていることを確認します。
      Swift