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

解決策
以下の手順を実行します。- 各構成について、プロジェクトのメインターゲットで app_group_id を確認する: 構成間で同じ 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: sdkConfig 変数内の app_group_id:
Objective-C - Notification Service Extension ターゲットを確認する:
- プッシュ通知を有効にする: 拡張ターゲットの Signing & Capabilities セクションで、必ず Push Notifications を有効にし、AppGroupId を追加してください。

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

- プッシュ通知を有効にする: 拡張ターゲットの Signing & Capabilities セクションで、必ず Push Notifications を有効にし、AppGroupId を追加してください。
- MORichNotification フレームワークを Notification Service Extension ターゲットに統合します。
Objective-C
- NotificationService.m ファイルは次のようになります。
Objective-C
- メインアプリターゲットの 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 が同じスキーム/構成を指していることを確認します。

