Skip to main content
セルフハンドルカードを使用すると、MoEngageプラットフォームでカードキャンペーンを作成し、アプリケーション内の任意の場所にカードを柔軟に表示できます。SDKはキャンペーンのデータを取得するAPIを提供しており、カード用の独自のカスタムビューを作成できます。

SDKのインストール

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

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

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

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

手動統合

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

セクション読み込み時の通知

カードは、別の画面または画面の一部のセクションに表示できます。カードの画面/セクションが読み込まれたら、次を呼び出します:onCardSectionLoaded()
以下のAPIを使用してカードのデータを取得し、独自のUIを構築します。

カテゴリーの取得

カードが設定されているすべてのカテゴリーを取得するには、次のAPIを使用します:getCardsCategories(forAppID:withCompletionBlock:)

カテゴリーのカードの取得

特定のカテゴリーで表示対象となるカードを取得するには、次のAPIを使用します:getCards(forCategory:forAppID:withCompletionBlock:)
カードとカテゴリーを取得するために個別のAPIを使用する代わりに、getCardsData(forAppID:withCompletionBlock:) メソッドを使用してすべての情報を一度に取得できます。

ウィジェットとウィジェットIDのマッピング

カード内の各UI要素は、クリックトラッキングAPIに渡す識別子を持つ MoEngageCardWidget です。以下の表は、ウィジェット識別子とそれが表す要素の対応を示しています。

ベーシックカード/イラストレーションカード

カードの統計のトラッキング

カードのUI/表示はアプリケーションによって制御されるため、配信、表示、クリックの統計をトラッキングするには、アプリケーションからSDKに通知する必要があります。

配信

アプリケーションのカードセクションへの配信をトラッキングするには、アプリケーションのカードセクションが読み込まれたときに、MoEngageCardCampaign のインスタンスを渡して API cardDelivered(_:forAppID:) を使用します。

インプレッション

特定のカードが画面に表示されたときに、メソッド cardShown(_:forAppID:) を呼び出します。

クリック

ユーザーがカードをクリックするたびに、メソッド cardClicked(_:withWidgetID:forAppID:) を呼び出します。カードオブジェクトとともに、クリックされたUI要素のウィジェット識別子も渡す必要があります。

カードの削除

カードを削除するには、MoEngageCardCampaign の配列をパラメーターとして渡して、メソッド deleteCards(_:forAppID:andCompletionBlock:) を呼び出します。
上記のAPIには、削除するカードのリストを受け取るオーバーロードメソッドがあります。

サーバーからのカードの更新

必要に応じてMoEngageサーバーからカードを更新するには、fetchCards(forAppID:withCompletion:) APIを使用します。コールバックでは MoEngageCardData が提供され、cards プロパティに更新された MoEngageCardCampaign、accountMeta にアカウントのメタデータ MoEngageAccountMeta が含まれます。
注
  • SDKは、アプリケーションがフォアグラウンドになるたびに、MoEngageサーバーからカードを自動的に更新/取得します。
  • このAPIにはFUP(公正利用ポリシー)があり、上限を超えた場合は既存のカード、つまりデバイスのローカルストレージにあるカードがコールバックで渡されます。
  • fetchCards() の同期タイミングとレート制限の詳細については、MoEngage SDKはいつカードデータを同期しますか?を参照してください。