問題
Native iOS、Swift、MoEngage-iOS-SDK(バージョン 7.x.x、8.x.x、9.x.x)を使用する iOS デバイスで、配信の失敗、画面遷移、ディープリンク、リッチランディングなど、プッシュ通知に関するよくある問題が発生しています。解決策
次の手順を実行します。- Firebase プロキシ:
- Firebase のプッシュ通知を使用していない場合は、info.plist に FirebaseAppDelegateProxyEnabled キーを値 Boolean = False/NO で追加して、Firebase プロキシを無効にします。
- プッシュ通知をテストします。成功した場合、それ以上の対応は不要です。成功しない場合は、以下の手順に従ってください。
- Firebase のプッシュ通知を使用している場合は、この手順をスキップして次の手順に進みます。
- UNUserNotificationCenterDelegate を設定する:
- AppDelegate.swift の didFinishLaunch メソッドで UNUserNotificationCenterDelegate を設定します。
- didFinishLaunch で Firebase を初期化している場合は、MoEngage SDK を初期化する前に行います。
- UNUserNotificationCenterDelegate がこのメソッドの冒頭で設定されていることを確認します。
Swift
- AppDelegate.swift を拡張する:
- AppDelegate.swift を拡張して UNUserNotificationCenterDelegate に準拠させます。AppDelegate.swift は次のコードスニペットのようになっている必要があります。
Swift
- AppDelegate.swift を拡張して UNUserNotificationCenterDelegate に準拠させます。AppDelegate.swift は次のコードスニペットのようになっている必要があります。
- MoEngage プロキシを無効にする:
- info.plist に MoEngageAppDelegateProxyEnabled キーを値 Boolean = False/NO で追加します

- info.plist に MoEngageAppDelegateProxyEnabled キーを値 Boolean = False/NO で追加します
- プッシュ通知トークンを手動で渡す:
- AppDelegate.swift の didRegisterForRemoteNotificationsWithDeviceToken 関数を使用して、プッシュ通知トークンを手動で渡します。
Swift
- AppDelegate.swift の didRegisterForRemoteNotificationsWithDeviceToken 関数を使用して、プッシュ通知トークンを手動で渡します。
- UNUserNotificatoinCenter Delegate 関数を実装する:
- AppDelegate.swift に UNUserNotificatoinCenter Delegate 関数が実装されていることを確認します。
Swift
- AppDelegate.swift に UNUserNotificatoinCenter Delegate 関数が実装されていることを確認します。