6.2.0 および MORichNotification バージョン 4.0.0 以降、プッシュテンプレートがサポートされ、展開モードでの通知の見た目をカスタマイズできるようになりました。この機能は iOS 12.0 以上でサポートされています。ダッシュボードでテンプレートを使用してキャンペーンを作成する方法については、こちらのリンクを参照してください。
iOS 15.0 アップデートiOS 15.0 のアップデートに伴い、
MORichNotification バージョン 5.2.0 をリリースしました。iOS 15.0 以上では、標準の通知レイアウトに合わせて、コンテンツを上部に、メディアを下部に表示するようにレイアウトを更新しています。
以下の手順に進む前に、プロジェクトでリッチプッシュをサポートするための App Target と Notification Service Extension の実装が完了していることを確認してください。
手順:
これらのカスタムプッシュテンプレートをサポートするには、プロジェクトに Notification Content Extension が必要です。以下の手順に従って Content Extension を作成し、MoEngage のテンプレートをサポートするようにセットアップします。1. Notification Content Extension の作成


2. デプロイメントターゲットの設定と必要なフレームワークの追加
この機能は iOS 12.0 からサポートされているため、デプロイメントターゲットを iOS 12.0 以上に設定します。その後、以下に示すように Frameworks and Libraries にUserNotifications.framework と UserNotificationsUI.framework を追加します。

3. 必要な Capability の追加
Capabilities セクションで App Groups を追加し、アプリターゲットと Notification Service Extension ターゲットで構成したものと同じ App Group ID を選択します。
App Group ID の推奨事項MoEngage 用に、
group.{app bundle id}.MoEngage という形式で別の App Group ID を設定することを推奨します。また、MoEngage を使用しているすべてのターゲットで同じ App Group ID が有効になっていることを確認してください。4. Info.plist の変更

Info.plist を変更し、NSExtensionAttributes を次のように設定します。
5. Storyboard の変更
Content Extension のMainInterface.storyboard を選択し、そこに配置されているデフォルトのラベルを削除して、以下に示すようにビューの背景色を clear color に設定します。

6. MoEngageRichNotification の統合
CocoaPods による統合
CocoaPods を使用して統合するには、以下に示すように Notification Content Extension に MoEngageRichNotification pod を含め、pod update / install コマンドを実行します。Swift Package Manager による統合
SPM を使用して統合するには、次の GitHub の URL リンクを使用し、ブランチを master に、またはバージョンを 6.2.0 以上に設定します。https://github.com/moengage/MoEngage-iOS-RichNotification.git手動統合
MoEngageRichNotificationSDK をプロジェクトに手動で統合するには、こちらのドキュメントに従ってください。MoEngageRichNotificationをアプリターゲットの Embedded Binaries に追加し、Notification Content Extension ターゲットにリンクされていることを確認します。
7. Content Extension でのコードの変更:
NotificationViewController クラスで次の変更を行います。
viewDidLoad()メソッドで、Capabilities で有効にしたものと同じ App Group ID を設定します。[Recommended: group.{app bundle id}.MoEngage]didReceiveNotification()コールバックでaddPushTemplateToController:withNotification:メソッドを呼び出して、テンプレートを追加します。
8. アプリでの通知クリックのコールバック:
Simple Image Carousel 通知の場合、ユーザーがどのスライドをクリックしたかを知るには、MOMessagingDelegate を利用して notificationClicked(withScreenName: andKVPairs:) コールバックを取得し、クリックされたスライドに設定されているキーと値のペアと画面名を取得します。以下の例を参照してください。ここでは AppDelegate でコールバックを登録しています。