SDKのインストール
Swift Package Managerを使用したインストール
MoEngageInboxは、SDKバージョン1.2.0から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統合ガイドを参照してください。
pod install を実行してフレームワークをインストールします。
Inboxセットアップのチェックリスト
Inboxモジュールを使用する前に、以下の項目が実装されていることを確認してください。- MoEngage-iOS-SDKをバージョン >= 9.0.0 に更新します。
- バージョン >= 2.0.0 のMoEngageInboxモジュールを統合します。
- Notification Service Extensionを実装し、MoEngageRichNotifcation(>= 7.0.0)を統合します。
- App Target のCapabilitiesでAppGroupIDが設定され、同じIDがSDKに渡されていること。
- Notification Service Extension Target のCapabilitiesでAppGroupIDが設定され、同じIDがMoEngageRichNotification SDKに渡されていること。
Inboxの使用方法
-
View Controllerで
MoEngageInboxをインポートします。 - プロパティを作成します - @property(nonatomic, strong) MoEngageInboxViewController *inboxController.
-
viewDidLoadに以下のコードを追加して、MoEngageInboxViewControllerを取得します。
MoEngageInboxViewControllerのPush/Present
SDKに画面遷移を処理させるには、次のいずれかのメソッドを使用します。MoEngageInboxViewControllerDelegateのメソッド
Inboxモジュールからコールバックを受け取るには、MoEngageInboxViewControllerDelegateプロトコルを使用します。外観のカスタマイズ
- コントローラーをpush/presentできます。コントローラーをpushする場合は、View Controllerを閉じるために「Done」または「Cancel」ボタンをUIBarButtonItemとして追加してください。
- Inboxのセルに対するクリックアクションのデリゲートコールバックを受け取ることができます。
- このデータは、イベントのトラッキングや別の画面へのナビゲーションに使用できます。
-
次のメソッドを使用して、Inboxビューコントローラーのルックアンドフィールをカスタマイズできます。
自己処理型Inbox
Inboxメッセージの取得:
Inboxを完全にカスタマイズできるようになりました。Inboxメッセージを取得するには、getInboxMessages(forAppID:withCompletionBlock:)を使用します。通知を既読にする:
メソッドの呼び出し時に通知のキャンペーンIDを指定することで、markInboxNotificationClicked(withCampaignID:forAppID:completionHandler)メソッドを使用してInbox通知を既読にできます。このメソッドは、isRead キーがtrueに設定された更新済みの通知ペイロードを返します。
Inbox通知のクリックのトラッキング:
メソッドの呼び出し時に通知のキャンペーンIDを指定することで、trackInboxClick(withCampaignID:forAppID:)メソッドを使用してInbox通知のクリックをトラッキングできます。Inboxのクリックの処理:
Inboxのエントリーをクリックしたときに、通知に関連付けられたSDKがサポートするアクション(リッチランディング、ディープリンク、クーポンコードなど)を実行する場合は、以下に示すようにprocessInboxNotification(withCampaignID:forAppID:)メソッドを呼び出します。未読通知数の取得:
以下に示すように、getUnreadNotificationCount(forAppID:withCompletionBlock:)メソッドを使用して、Inboxから未読通知数を取得できます。メッセージの削除
Inboxに現在保存されているすべてのメッセージを削除するには、removeInboxMessages(forAppID:completionHandler:)メソッドを使用します。SDKバージョン4.4.0で非推奨になったメソッド
SDKバージョン4.4.0でInboxモジュールを刷新しました。これに伴い、MOInboxPushDataModel クラスを非推奨とし、通知のモデルオブジェクトとして MOInboxModel クラスのインスタンスを使用するようにしました。また、以下に示すように、MOInbox の既存のメソッドの一部も非推奨になりました。
情報MoEngage SDKは、アプリが初めて起動されたとき、またはバックグラウンドからフォアグラウンドに戻ったときにのみ、プッシュデータを通知センターと同期します。