Skip to main content
さまざまなカテゴリーにグループ化できる、ターゲット型または自動化されたApp Inbox/NewsFeedメッセージを作成し、指定した期間Inbox/Feedに保持されるさまざまな最新情報やオファーでユーザーをターゲティングできます。カードの詳細については、ヘルプ記事を参照してください。 Cardsinios1

SDKのインストール

Swift Package Managerを使用したインストール

MoEngageCardsは、SDKバージョン3.2.0からSPMでサポートされています。統合するには、次のGitHub URLリンクを使用し、ブランチをmasterに、またはバージョンを4.11.1以上に設定してください。https://github.com/moengage/MoEngage-iOS-Cards.git

CocoaPodを使用したインストール

情報CocoaPodsは非推奨になりつつあります。MoEngageでは、すべての新規統合にSwift Package Managerを使用することを推奨しています。CocoaPodsの詳細については、CocoaPods統合ガイドを参照してください。
次の画像のように、podファイルに依存関係を追加してMoEngageCardsフレームワークを統合します。
次に、pod install を実行してフレームワークをインストールします。

手動統合

手動統合MoEngageCards SDKをプロジェクトに手動で統合するには、このドキュメントに従ってください。

AppInbox/Feedの表示

モジュールを統合したら、以下のメソッドを使用して、トランジション付きで MoEngageCardsListViewController を表示します。
iOS SDK 11.0.0 以降、presentCardsViewController と pushCardsViewController には @MainActor アノテーションが付いています。Objective-Cの呼び出し元には影響しません。(上記のように)UIViewController 内のSwiftコードはすでにメインアクター上で実行されるため、これらの呼び出しは変更なしでコンパイルされます。メインアクター以外のSwiftコンテキストから呼び出す場合は、await MainActor.run { ... } を使用してメインアクターに移行してください。
上記のように、SDKではPushとPresentのトランジションをサポートしています。Inboxを表示する際のトランジションを独自に処理したい場合は、以下のように getCardsViewController(withUIConfiguration:withCardsViewControllerDelegate:forAppID:withCompletionBlock:) メソッドを使用してView Controllerのインスタンスを取得します。
iOS SDK 11.0.0 以降、getCardsViewController には @MainActor アノテーションが付いています。Objective-Cの呼び出し元には影響しません。(上記のように)UIViewController 内のSwiftコードはすでにメインアクター上で実行されるため、この呼び出しは変更なしでコンパイルされます。メインアクター以外のSwiftコンテキストから呼び出す場合は、await MainActor.run { ... } を使用してメインアクターに移行してください。

Inbox UIのカスタマイズ

前述のスナップショットは、InboxのデフォルトUIの外観を示しています。さらに、アプリのテーマに合わせてApp Inbox画面をカスタマイズすることもできます。画面をカスタマイズするには、MoEngageCardsUIConfiguration インスタンスを使用し、上記のメソッドに渡します。以下の例を参照してください。
Cardsinios2 これは、ニーズに合わせてInboxのUIを完全にカスタマイズした例です。MoEngageCardsUIConfiguration インスタンスを使用してカスタマイズできるUI属性を以下に示します。

ナビゲーションバーのカスタマイズ:

ナビゲーションバーのカスタマイズには、タイトル、ナビゲーションバーの色、タイトルの色、タイトルのフォントなどの更新が含まれます。MoEngageCardsNavigationBarStyle のインスタンスを作成し、以下のようにすべての属性を設定してから、それを MoEngageCardsUIConfiguration インスタンスに割り当てます。

カテゴリータブバーのカスタマイズ:

以下のように、カテゴリータブバーのビューで変更したい MoEngageCardsUIConfiguration インスタンスの属性を直接設定します。

空のInboxのカスタマイズ:

Inboxが空の場合に、メッセージと画像を設定するオプションを提供しています。デフォルトでは、空のInboxは次の画像のように表示されます。 Customizeemptyinbox これも、以下のようにUI設定インスタンスを使用してカスタマイズできます。

Inboxコンテナーのカスタマイズ:

MoEngageCardsListViewController のいずれかのプロパティをカスタマイズする必要がある場合は、以下の例を参照してください。
注Inboxではプルして更新がサポートされています。そのアクティビティインジケーターの色は、上記のように更新できます。

カードプロパティのカスタマイズ:

キャンペーン作成時にダッシュボードでカードをカスタマイズするオプションを提供していますが、それに加えて、キャンペーンを作成するたびに設定しなくて済むように、デフォルトの属性値を設定することもできます。以下の例を参照してください。

カード数取得API

新しいカードの数の取得:

ユーザーがまだ見ていないカードは新しいカードとみなされます。新しいカードの数を取得するには、以下のように getNewCardsCount(forAppID:withCompletionBlock:) メソッドを使用します。

未クリックのカードの数の取得:

ユーザーがクリックしていないカードの数を取得するには、以下のように getUnclickedCardsCount(forAppID:withCompetionBlock:) メソッドを使用します。

MoEngageCardsDelegateを使用したコールバック

Cardsモジュールからコールバックを受け取るには、MoEngageCardsDelegate プロトコルを使用します。
上記のコールバックを受け取るには、以下のように setCardsDelegate(delegate:forAppID:)(MoEngageSDKCards インスタンスのプロパティ)を設定します。

MoEngageCardsViewControllerDelegateを使用したコールバック

Cardsモジュールからコールバックを受け取るには、MoEngageCardsViewControllerDelegate プロトコルを使用します。
以下の関数のパラメーターとしてデリゲートを渡して、MoEngageCardsViewControllerDelegate を設定します。