@8select/eightlytics-client 中文文档教程
8.LYTICS 3.0 JavaScript Client
Usage
Installation:
yarn add @8select/eightlytics-client
或者
npm install --save @8select/eightlytics-client
要使用此客户端发送您的 8.LYTICS 事件,首先使用您的 API ID 创建一个事件上下文,并可选择分配一个用户上下文:
(有关参考,请查看:https://docs.8select.io/api-tracking/general)
import EightlyticsContext, { CurrencyCode } from '@8select/eightlytics-client'
const eightlyticsContext = new EightlyticsContext('<api-id>')
// if commission based pricing is used, the user is required. otherwise optional
.setUserContext('<user-id>')
// optionally, if not set here, will be set in api
.setPageContext('https://example.com/product/123')
现在您可以在整个应用程序中使用此上下文来发送任何事件。
要创建特定事件,您可以使用上下文提供的实用函数:
// user sees a setCompose product set
const productClickEvent = eightlyticsContext.createViewSetComposeEvent('<set-compose-id>')
// user clicks on a product
const productClickEvent = eightlyticsContext
// optionally
.setContentContext(ContentType.SET_COMPOSE, '<set-compose-id>')
.createProductClickEvent('<product-sku>')
// user adds a product to the cart
const productAddToCartEvent = eightlyticsContext
// optionally
.setContentContext(ContentType.SET_COMPOSE, '<set-compose-id>')
.createProductAddToCartEvent('<product-sku>')
// user submits an order
const orderEvent = eightlyticsContext
.createOrderEvent('<order-id>')
// for each order position, create an order line.
// CurrencyCode is an enum that contains all ISO 4217 currencies
.addOrderLine('<product-sku>', <quantity>, <unit-price>, CurrencyCode.EUR)
创建事件后(或者如果您愿意,可以直接链接)您可以通过调用它的 send
方法来发送它:
await event.send()
链接示例:
await new EightlyticsContext('<api-id>')
.setUserContext('<user-id>')
.setPageContext('https://example.com/product/123')
.setContentContext(ContentType.SET_COMPOSE, '<set-compose-id>')
.createProductAddToCartEvent('<product-sku>')
.send()
8.LYTICS 3.0 JavaScript Client
Usage
Installation:
yarn add @8select/eightlytics-client
or
npm install --save @8select/eightlytics-client
To send your 8.LYTICS events with this client, start by creating an event context with your API ID and optionally assign a user context:
(for reference please view: https://docs.8select.io/api-tracking/general)
import EightlyticsContext, { CurrencyCode } from '@8select/eightlytics-client'
const eightlyticsContext = new EightlyticsContext('<api-id>')
// if commission based pricing is used, the user is required. otherwise optional
.setUserContext('<user-id>')
// optionally, if not set here, will be set in api
.setPageContext('https://example.com/product/123')
Now you can use this context throughout your application to send any events.
To create a specific event you can use the utility functions provided by the context:
// user sees a setCompose product set
const productClickEvent = eightlyticsContext.createViewSetComposeEvent('<set-compose-id>')
// user clicks on a product
const productClickEvent = eightlyticsContext
// optionally
.setContentContext(ContentType.SET_COMPOSE, '<set-compose-id>')
.createProductClickEvent('<product-sku>')
// user adds a product to the cart
const productAddToCartEvent = eightlyticsContext
// optionally
.setContentContext(ContentType.SET_COMPOSE, '<set-compose-id>')
.createProductAddToCartEvent('<product-sku>')
// user submits an order
const orderEvent = eightlyticsContext
.createOrderEvent('<order-id>')
// for each order position, create an order line.
// CurrencyCode is an enum that contains all ISO 4217 currencies
.addOrderLine('<product-sku>', <quantity>, <unit-price>, CurrencyCode.EUR)
After creating your event (or chained directly if you prefer) you can send it by calling it's send
method:
await event.send()
Chaining example:
await new EightlyticsContext('<api-id>')
.setUserContext('<user-id>')
.setPageContext('https://example.com/product/123')
.setContentContext(ContentType.SET_COMPOSE, '<set-compose-id>')
.createProductAddToCartEvent('<product-sku>')
.send()