エンゲージメントデータの取得
エンゲージメント Mobile SDK の Data Cloud モジュールでは、イベントを追跡することで、顧客によるモバイルアプリケーションとのインタラクションに関する詳細なデータを収集できます。
エンゲージメントデータが Data Cloud に送信されるための要件:
エンゲージメント Mobile SDK では、構造化イベントと非構造化イベント両方の作成がサポートされています。
- 構造化
- カートイベント
- カタログイベント
- 注文イベント
- 非構造化
- カスタムイベント
構造化イベントには、提供できる情報の種類に関する厳しい要件があります。また、Data Cloud で推奨されるモバイルコネクタスキーマが事前に定義されており、追加データを取得するように拡張することもできます。
非構造化イベントには、提供できる情報に関する要件はありません。カスタムイベント定義を作成し、Data Cloud に取り込まれるモバイルコネクタスキーマに追加する必要があります。
どちらのイベント種別も、SFMCSdk.track(event) 関数をコールすることで収集されます。
iOS の例
1import SFMCSDK
2import Cdp
3
4...
5
6// collecting the structured AddToCartEvent
7SFMCSdk.track(AddToCartEvent(
8 lineItem: LineItem(
9 catalogObjectType: "Product",
10 catalogObjectId: "product-1",
11 quantity: 1,
12 price: 20.0,
13 currency: "USD",
14 // attributes can contain any custom field data
15 // as long as the schema is modified to define them
16 attributes: [
17 "gift_wrap": false
18 ]
19 )
20))
21
22// collecting an unstructured CustomEvent
23SFMCSdk.track(CustomEvent(
24 name: "CartAbandonment",
25 attributes: [
26 "sku": "COFFEE-NTR-06",
27 "price": 19.99
28 ]
29))Android の例
1import com.salesforce.marketingcloud.sfmcsdk.components.events.CartEvent
2import com.salesforce.marketingcloud.sfmcsdk.components.events.EventManager
3import com.salesforce.marketingcloud.sfmcsdk.SFMCSdk
4
5...
6
7// collecting the structured AddToCartEvent
8SFMCSdk.track(CartEvent.add(
9 lineItem = LineItem(
10 catalogObjectId = "product-1",
11 catalogObjectType = "Product",
12 quantity = 1,
13 price = 20.0,
14 currency = "USD",
15 // attributes can contain any custom field data
16 // as long as the schema is modified to define them
17 attributes = mapOf(
18 "gift_wrap" to false
19 )
20 )
21))
22
23// collecting an unstructured CustomEvent
24SFMCSdk.track(EventManager.customEvent(
25 "CartAbandonment",
26 mapOf(
27 "sku" to "COFFEE-NTR-06",
28 "price" to 19.99
29 )
30))