問題
Swift バージョン 8.x.x を使用するデバイスにプッシュ通知が正常に配信されているにもかかわらず、プッシュキャンペーンのインプレッションがトラッキングされない、画像がレンダリングされないなど、プッシュ通知に関するよくある問題が発生しています。プッシュキャンペーンのインプレッションをトラッキングするには、MoEngage ダッシュボードで Show iOS impressions トグルがオンになっていることを確認してください。

解決策
次の手順を実行します。-
各構成でプロジェクトのメインターゲットに app_group_id があるか確認する:
構成間で同じ app_group_id を追加することも、異なるものを追加することもできます。
構成で異なる Bundle Identifier を使用しながら同じ app_group_id を共有している場合、問題が発生する可能性があります。具体的には、Bundle Identifier が異なり app_group_id が同じ 2 つのアプリが同じデバイスにインストールされている場合、Notification Service Extension が失敗することがあります。 これを回避するために、複数の構成で同じ app_group_id を使用できますが、その場合は 1 台のデバイスですべてのアプリを同時にテストすることはできない点に注意してください。

-
SDK の初期化時に app_group_id があるか確認する:
- info.plist を使用して SDK を初期化している場合は、info.plist ファイルの MoEngage キー内に APP_GROUP_ID キーが存在している必要があります。
- sdkConfig を使用して SDK を初期化している場合は、AppDelegate ファイル内の sdkConfig 変数に APP_GROUP_ID が存在している必要があります。
info.plist 内の app_group_id:
SwiftObjective-C -
Notification Service Extension ターゲットがあるか確認する:
- Push Notifications を有効にする:Extension ターゲットの Signing & Capabilities セクションで、必ず Push Notifications を有効にし、AppGroupId を追加してください。

- 最小デプロイ iOS バージョンを揃える:Notification Service Extension の最小デプロイ iOS バージョンが、メインアプリの iOS バージョンと一致していることを確認します。

- Push Notifications を有効にする:Extension ターゲットの Signing & Capabilities セクションで、必ず Push Notifications を有効にし、AppGroupId を追加してください。
-
MORichNotification フレームワークを Notification Service Extension ターゲットに統合します。
Swift
-
NotificationService.swift ファイルは次のようになります。
Swift
-
メインアプリターゲットの Build Phases を確認する:メインアプリターゲットの Build Phases セクションで、Embed App Extensions / Embed Foundation Extensions セクションを見つけます。Copy only when installing オプションのチェックが外れていることを確認します。

- 構成間で appGroupId を統一する:プロジェクト内のすべてのスキームと構成(例:Debug/Release/QA/UAT)で appGroupId が一致していることを確認します。
- ビルド構成を揃える:プロジェクトを実行またはアーカイブする際は、メインターゲットと Notification Service Extension ターゲットの Build Configuration が同じスキーム/構成を指していることを確認します。

