Skip to main content

問題

SDK バージョン 9.x.x を使用するデバイスにプッシュ通知が正常に配信されているにもかかわらず、プッシュキャンペーンのインプレッションがトラッキングされない、画像がレンダリングされないなど、プッシュ通知に関するよくある問題が発生しています。
  • インプレッションをトラッキングするには、アプリに Notification Service Extension が実装されていることを確認してください。
  • さらに、MoEngage ダッシュボードで Settings → Channel → Push → IOS に移動し、Show iOS impressions トグルを有効にしてください。 iOS imp.png

解決策

次の手順を実行します。
  1. 各構成でプロジェクトのメインターゲットに app_group_id を追加する:構成間で同じ app_group_id を追加することも、異なるものを追加することもできます。
    構成で異なる Bundle Identifier を使用しながら同じ app_group_id を共有している場合、問題が発生する可能性があります。具体的には、Bundle Identifier が異なり app_group_id が同じ 2 つのアプリが同じデバイスにインストールされている場合、Notification Service Extension が失敗することがあります。 これを回避するために、複数の構成で同じ app_group_id を使用できますが、その場合は 1 台のデバイスですべてのアプリを同時にテストすることはできない点に注意してください。
    app group.png
  2. 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: app id.png sdkConfig 変数内の app_group_id:
    Swift
    Objective-C
  3. Notification Service Extension ターゲットを作成する:
NSE.png
  • Extension ターゲットに名前を付ける:Extension ターゲットの名前を選択します。Swift は Objective-C プロジェクトでもシームレスに動作するため、言語として Swift を推奨します。
name.png
  • Push Notifications を有効にする:Extension ターゲットの Signing & Capabilities セクションで、Push Notifications を有効にし、AppGroupId を追加します。
enable.png
  • 最小デプロイ iOS バージョンを揃える:Notification Service Extension の最小デプロイ iOS バージョンが、メインアプリの iOS バージョンと一致していることを確認します。
support.png
  1. MORichNotification フレームワークを Notification Service Extension ターゲットに統合する:podfile で Notification Service Extension を別のターゲットとして追加し、MORichNotification フレームワークをインストールします。
    Swift
  2. NotificationService.swift ファイルのコード変更:
    Swift
  3. メインアプリターゲットの Build Phases を確認する:メインアプリターゲットの Build Phases セクションで、Embed App Extensions / Embed Foundation Extensions セクションを見つけます。Copy only when installing オプションのチェックが外れていることを確認します。
copy.png
  1. 構成間で appGroupId を統一する:プロジェクト内のすべてのスキームと構成(例:Debug/Release/QA/UAT)で appGroupId が一致していることを確認します。
  2. ビルド構成を揃える:プロジェクトを実行またはアーカイブする際は、メインターゲットと Notification Service Extension ターゲットの Build Configuration が同じスキーム/構成を指していることを確認します。
run.png build.png