Appearance
落地页SDK API 说明
LandingSDK.init(options)
初始化 SDK 实例。
javascript
LandingSDK.init({
appId: "demo_app",
domain: "当前落地页域名",
channel: "demo_channel",
});参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
appId | string | 是 | - | 应用 ID |
domain | string | 否 | 当前页面域名 | 上报域名 |
endpoint | string | 否 | - | 直接指定完整上报地址,优先级高于 domain |
channel | string | 是 | - | 渠道码 |
batch | boolean | 否 | false | 是否批量上报,默认 false |
deviceId | string | 否 | - | 自定义设备 ID,传入后覆盖本地生成的值 |
环境说明
接入文档中的配置服务环境如下:
| 环境 | 域名 |
|---|---|
| 测试环境 | https://dcapi.dc-dev.cc |
| 正式环境 | https://api.dc-server.cc |
以上域名用于
/sdk/getAvailableDomainList密文配置接口。落地页SDK当前不走密文配置接口,它只负责事件上报,最终地址由endpoint或domain决定。
| 接入方式 | 上报地址规则 | 说明 |
|---|---|---|
domain | domain + /dcserv/api/eventTracking/report.json | 推荐用于落地页同域代理接入;页面域名需将 /dcserv 代理到 https://ap.dc-report.cc |
endpoint | 直接使用 endpoint 完整地址 | 优先级高于 domain |
使用 domain 时,上线前需要确认 /dcserv 已正确代理到 https://ap.dc-report.cc,最终请求能够到达 https://ap.dc-report.cc/api/eventTracking/report.json。
batch 参数说明
batch 决定调用哪个上报接口,两种模式的接口路径和请求格式不同:
batch: false(默认) | batch: true | |
|---|---|---|
| 上报接口 | /api/eventTracking/report.json | /api/eventTracking/batchReport.json |
| 请求格式 | application/x-www-form-urlencoded | application/json |
| 发送时机 | 每次调用立即发送 | 队列积累后批量发送 |
| 适用场景 | 事件少、关键事件(如页面展示) | 短时间高频点击追踪 |
WARNING
使用 batch: true 时,若通过 /dcserv 代理,需确认 /api/eventTracking/batchReport.json 路径也已代理,否则请求会 404。
事件方法
SDK 提供两个专用上报方法,event 字段由 SDK 内部自动设置,调用时只需传入业务参数。
LandingSDK.track.landingPageView(payload)
上报落地页展示事件,event 自动设为 "landing_page_view",返回 Promise。
javascript
LandingSDK.track.landingPageView({
landing_page_id: "123",
});参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
landing_page_id | string | 是 | 当前落地页ID |
LandingSDK.track.landingPageClick(payload)
上报落地页点击事件,event 自动设为 "landing_page_click",返回 Promise。
javascript
LandingSDK.track.landingPageClick({
landing_page_id: "123",
tab_key: "tab_001",
tab_name: "登录",
click_coordinates_x: 100,
click_coordinates_y: 200,
click_x_percent: 50,
click_y_percent: 60,
screen_width: 1920,
screen_height: 1080,
trace_id: "trace123",
});参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
landing_page_id | string | 是 | 当前落地页ID |
tab_key | string | 是 | 标签键 |
tab_name | string | 是 | 标签名称 |
click_coordinates_x | int | 是 | 点击位置X坐标 |
click_coordinates_y | int | 是 | 点击位置Y坐标 |
click_x_percent | int | 是 | 点击X百分比 |
click_y_percent | int | 是 | 点击Y百分比 |
screen_width | int | 是 | 屏幕宽度 |
screen_height | int | 是 | 屏幕高度 |
trace_id | string | 是 | 追踪记录ID |
地址优先级
最终上报地址按以下优先级确定:
options.endpoint(初始化时指定的完整地址)options.domain(初始化时指定的域名)- 当前页面域名(兜底)
接入建议
- 推荐通过占位队列统一调用,不要在页面多处直接调用
LandingSDK.track,参见 快速开始 - 上线前验证
/dcserv代理是否正确转发到https://ap.dc-report.cc/api/eventTracking/report.json
公共上报字段
每次事件上报时,SDK 自动携带以下公共字段,无需手动传入:
| 字段 | 说明 |
|---|---|
app_id | 应用 ID,来自 init 配置 |
channel | 渠道码,来自 init 配置 |
uid | 用户 ID,默认 0 |
sid | 会话 ID,每日一会话,本地持久化 |
client_ts | 客户端时间戳(10 位秒级) |
device | 设备类型:PC / Android / iOS |
device_id | 设备 ID,本地持久化;可通过 init 覆盖 |
device_fingerprint | 设备指纹 |
user_agent | 浏览器 UA |
sdk_version | 当前 SDK 版本号,自动填入 |
app_version | 应用版本号 |
event_id | 事件唯一 ID,由 SDK 自动生成(MD5) |