iOSにおいてリッチプッシュ通知の画像およびカルーセルが表示されない事象について(SMC SDK 9.0.3)
iOSアプリにおいて、リッチプッシュ通知の画像およびカルーセルプッシュのカルーセルが表示されない事象が発生しております。
以下の公式ドキュメントに従い、Notification Service Extension(NSE)およびNotification Content Extension(NCE)を実装しておりますが、期待どおりに動作していない状況です。
■ 参考ドキュメント
https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/guide/mc_engagement_push_notifications_ios.html1. 発生事象
- リッチプッシュ通知を受信しても、通知に画像が表示されない。
- カルーセルプッシュ通知を受信しても、カルーセルが表示されない。
2. 前提条件・実施済みの設定
- SMC SDKバージョン: 9.0.3
- NSEを追加し、UNNotificationServiceExtension を継承した SFMCNotificationService を実装済み。
- NCEを追加し、UIViewController を継承した SFMCNotificationViewController を実装済み。
- 拡張機能用の MCExtensionSDK をNSE/NCEに設定済み。
- Marketing Cloudのコンソールにて「Advanced Template Category」を設定済み。
- NCEの Info.plist にて UNNotificationExtensionCategory を設定し、コンソール側の「Advanced Template Category」と紐付け済み。
- リッチプッシュおよびカルーセルプッシュの通知ペイロードにて、aps 内の "mutable-content": 1 を確認済み。
- NCEの Info.plist から NSExtensionMainStoryboard の参照を削除し、MainInterface.storyboard をプロジェクトから削除済み。
- NCEの Info.plist に NSExtensionPrincipalClass を追加し、$(PRODUCT_MODULE_NAME).NotificationViewController を設定済み。
- NCEの Info.plist に UNNotificationExtensionUserInteractionEnabled = YES を設定済み。
- メインアプリおよびNSE/NCEにApp Groupsを設定し、各ターゲットで同一の SF_MARKETINGCLOUD_APP_GROUP_KEY(group.<bundle-id>.sfmarketingcloudsdk)を設定済み。
- カルーセルプッシュの通知ペイロードにて、aps 内の category がMarketing Cloudのコンソールで設定した「Advanced Template Category」と一致していることを確認済み。
- NSE/NCE用のプロビジョニングプロファイルをそれぞれ作成済み。メインアプリと同じ証明書を使用するよう設定し、Xcodeでも各ターゲットに対応するプロビジョニングプロファイルを指定済み。
3. 現時点で確認できていること・懸念点
NSEの SFMCNotificationService クラスにて、通知受信時に呼び出される想定の sfmcDidReceive() メソッド内で、UNMutableNotificationContent を使用して通知タイトルや本文を変更する動作確認を行いました。
しかし、変更内容が通知に反映されず、sfmcDidReceive() 自体が呼び出されていない可能性があると考えております。
そのため、NSEが正常に起動・実行されていないこと、またはNCEが正常に起動していないことが、今回の事象に関係している可能性を懸念しております。
#Marketing Cloud