
前提条件以下の手順に進む前に、プロジェクトでリッチプッシュをサポートするための App Target と Notification Service Extension の実装が完了していることを確認してください。
手順:
これらのカスタムプッシュテンプレートをサポートするには、プロジェクトに Notification Content Extension が必要です。以下の手順に従って Content Extension を作成し、MoEngage テンプレートをサポートするように設定します。1. Notification Content Extension を作成する


2. デプロイメントターゲットを設定する
デプロイメントターゲットをメインアプリのターゲットと同じに設定します。3. 必要な Capabilities を追加する
Capabilities セクションで App Groups を追加し、App ターゲットと Notification Service Extension ターゲットで構成したものと同じ App Group ID を選択します。
4. Info.plist の変更

Info.plist を変更し、NSExtensionAttributes を以下のように設定します。
注意宣言したカテゴリに応じて、UNNotificationExtensionCategory を必要な値に更新してください。
5. Storyboard の変更
以下のように、Content Extension の MainInterface.storyboard を選択し、配置されているデフォルトのラベルを削除して、ビューの背景色をクリアカラーに設定します。
6. MoEngageRichNotification の統合
Swift Package Manager による統合(推奨)
SPM で統合するには、SDK バージョン 9.23.0 以上の場合は GitHub URL https://github.com/moengage/apple-sdk.git を、それ以外の SDK バージョンの場合は https://github.com/moengage/MoEngage-iOS-SDK.git を使用し、ブランチを master または必要なバージョンに設定します。CocoaPod による統合
情報CocoaPods は非推奨になりつつあります。MoEngage では、すべての新規統合に Swift Package Manager を使用することを推奨しています。CocoaPods の詳細については、CocoaPods 統合ガイドを参照してください。
手動統合
- MoEngageRichNotification SDK をプロジェクトに手動で統合するには、こちらのドキュメントに従ってください。
- App ターゲットの埋め込みバイナリに MoEngageRichNotification を追加し、Notification Content Extension ターゲットにリンクされていることを確認してください。
7. Content Extension のコード変更:
- viewDidLoad() メソッドで、Capabilities で有効にしたものと同じ App Group ID を設定します。
- addPushTemplate(toController:withNotification:) メソッドを呼び出して、didReceiveNotification() コールバックでテンプレートを追加します。
8. アプリでの通知クリックコールバック:
Simple Image Carousel 通知の場合、ユーザーがどのスライドをクリックしたかを知るには、MOMessagingDelegate を使用して notificationClicked(withScreenName: andKVPairs:) コールバックを取得し、クリックされたスライドに設定されているキーと値のペアおよびスクリーン名を取得します。以下の例を参照してください。ここでは AppDelegate でコールバックを登録しています。