
SDKのインストール
Swift Package Managerを使用したインストール
MoEngageCardsは、SDKバージョン3.2.0からSPMでサポートされています。統合するには、次のGitHub URLリンクを使用し、ブランチをmasterに、またはバージョンを4.11.1以上に設定してください。https://github.com/moengage/MoEngage-iOS-Cards.gitCocoaPodを使用したインストール
情報CocoaPodsは非推奨になりつつあります。MoEngageでは、すべての新規統合にSwift Package Managerを使用することを推奨しています。CocoaPodsの詳細については、CocoaPods統合ガイドを参照してください。
pod install を実行してフレームワークをインストールします。
手動統合
手動統合
MoEngageCards SDKをプロジェクトに手動で統合するには、このドキュメントに従ってください。AppInbox/Feedの表示
モジュールを統合したら、以下のメソッドを使用して、トランジション付きでMoEngageCardsListViewController を表示します。
iOS SDK 11.0.0 以降、
presentCardsViewController と pushCardsViewController には @MainActor アノテーションが付いています。Objective-Cの呼び出し元には影響しません。(上記のように)UIViewController 内のSwiftコードはすでにメインアクター上で実行されるため、これらの呼び出しは変更なしでコンパイルされます。メインアクター以外のSwiftコンテキストから呼び出す場合は、await MainActor.run { ... } を使用してメインアクターに移行してください。iOS SDK 11.0.0 以降、
getCardsViewController には @MainActor アノテーションが付いています。Objective-Cの呼び出し元には影響しません。(上記のように)UIViewController 内のSwiftコードはすでにメインアクター上で実行されるため、この呼び出しは変更なしでコンパイルされます。メインアクター以外のSwiftコンテキストから呼び出す場合は、await MainActor.run { ... } を使用してメインアクターに移行してください。Inbox UIのカスタマイズ
前述のスナップショットは、InboxのデフォルトUIの外観を示しています。さらに、アプリのテーマに合わせてApp Inbox画面をカスタマイズすることもできます。画面をカスタマイズするには、MoEngageCardsUIConfiguration インスタンスを使用し、上記のメソッドに渡します。以下の例を参照してください。
ナビゲーションバーのカスタマイズ:
ナビゲーションバーのカスタマイズには、タイトル、ナビゲーションバーの色、タイトルの色、タイトルのフォントなどの更新が含まれます。MoEngageCardsNavigationBarStyle のインスタンスを作成し、以下のようにすべての属性を設定してから、それを MoEngageCardsUIConfiguration インスタンスに割り当てます。カテゴリータブバーのカスタマイズ:
以下のように、カテゴリータブバーのビューで変更したい MoEngageCardsUIConfiguration インスタンスの属性を直接設定します。空のInboxのカスタマイズ:
Inboxが空の場合に、メッセージと画像を設定するオプションを提供しています。デフォルトでは、空のInboxは次の画像のように表示されます。
Inboxコンテナーのカスタマイズ:
MoEngageCardsListViewController のいずれかのプロパティをカスタマイズする必要がある場合は、以下の例を参照してください。
注Inboxではプルして更新がサポートされています。そのアクティビティインジケーターの色は、上記のように更新できます。
カードプロパティのカスタマイズ:
キャンペーン作成時にダッシュボードでカードをカスタマイズするオプションを提供していますが、それに加えて、キャンペーンを作成するたびに設定しなくて済むように、デフォルトの属性値を設定することもできます。以下の例を参照してください。カード数取得API
新しいカードの数の取得:
ユーザーがまだ見ていないカードは新しいカードとみなされます。新しいカードの数を取得するには、以下のように getNewCardsCount(forAppID:withCompletionBlock:) メソッドを使用します。未クリックのカードの数の取得:
ユーザーがクリックしていないカードの数を取得するには、以下のように getUnclickedCardsCount(forAppID:withCompetionBlock:) メソッドを使用します。MoEngageCardsDelegateを使用したコールバック
Cardsモジュールからコールバックを受け取るには、MoEngageCardsDelegate プロトコルを使用します。MoEngageCardsViewControllerDelegateを使用したコールバック
Cardsモジュールからコールバックを受け取るには、MoEngageCardsViewControllerDelegate プロトコルを使用します。
MoEngageCardsViewControllerDelegate を設定します。