# PWA手册
说明
建议所有自定义应用事件,全部走S2S方式进行上报。目前落地页模版为商店详情页。
# 整体流程
说明
建议所有自定义应用事件,全部走S2S方式进行上报。 自动化部署正在开发中,目前流程中的步骤6-7暂时需要人工对接。
- 运营:BePower后台创建应用,并在应用内添加跟踪链接、配置渠道参数和事件映射。
- 前端:前端接入BePower-pwa SDK,页面加载时进行初始化;
- 前端&后端:用户注册时,将BDID传到后端进行持久化存储,每个用户ID对应一个BDID;
- 后端:根据投放需求上报用户的行为事件,APP后端进行S2S上报;
- 编译工程:打包APP前端html工程(注意:非根目录部署,path为 /{appToken}/)
- 提供配置:在后台创建对应应用和跟踪链接后,提供对应的appToken和trackerToken给到BePower支持;
- 提供物料:提供前端编译后资源、APP物料(iCON、5图、名称、商店描述、模拟评论信息)给到BePower支持,用于部署安装页面。
- 开启投放
# 投放链接
URL模版: https://apps.googleplay.fun/AppToken/TrackerToken/download.html?pixel_id=PixelId&p1={{campaign.name}}&p2={{campaign.id}}
&p3={{adset.name}}&p4={{adset.id}}&p5={{ad.name}}&p6={{ad.id}}
参数说明:
AppToken: 替换为实际的应用Token
TrackerToken: 替换为实际的跟踪链接Token
PixelId: 替换为实际使用的像素ID
# JS SDK接入
说明
建议所有自定义应用事件,全部走S2S方式进行上报。
# SDK初始化
- 加载JS SDK并初始化
<script type="module" src="https://static.bepower.ing/lib/bepower-pwa.js"> </script>
<script>
// 如使用自己的PWA安装页面,需要传参数
const appToken = '应用Token', trackerToken = '跟踪链接Token' //
window.bePower = new BePower(appToken, trackerToken)
// 如使用bepower PWA安装页面,appToken, TrackerToken可不传
window.bePower = new BePower()
</script>
# SDK公共接口
# 接口:获取BDID(BePower设备ID)
提示
- BDID在页面归因上报后生成并存储在localStorage。
- 为了避免用户清理缓存后丢失,需要在用户注册时携带BDID参数给游戏服进行持久化存储。
- 用户的后续行为事件由服务器上报,使用持久化的BDID参数进行上报。
// isDebug: 可不传(默认false),为true时会默认BDID:bdid-T000000000001
// 上报归因后才能获取bdid,不建议初始化bePower后立刻调用该接口,
// 可能会获取到空值,一般在注册绑定用户时调用。
bePower.getBdid()
# 接口:事件上报
方法:bepower.report( eventToken, eventData)
eventToken: 在平台->所有应用->应用详情->事件界面进行创建。
eventData: 参考下面示例代码。
查看示例代码
// 如果事件参数为空,eventData须是空的HashMap,不能为null.
// 注册事件示例:
const eventData = {
uid: 'e323ec626319ca94ee8bff2e4c87cf613be6ea19919ed1364124e16807ab3176',
fb_login_id: 'e323ec626319ca94ee8bff2e4c87cf613be6ea19919ed1364124e16807ab3176'
}
bePower.report('xxxwe', eventData);
// 登录事件示例:
const eventData = {
uid: 'e323ec626319ca94ee8bff2e4c87cf613be6ea19919ed1364124e16807ab3176',
fb_login_id: 'e323ec626319ca94ee8bff2e4c87cf613be6ea19919ed1364124e16807ab3176',
email: 'username@gmail.com',
phone: 'e323ec626319ca94ee8bff2e4c87cf613be6ea19919ed1364124e16807ab3176'
}
bePower.report('dfs2df', eventData);
// 充值事件示例:
const eventData = {
uid: 'e323ec626319ca94ee8bff2e4c87cf613be6ea19919ed1364124e16807ab3176',
fb_login_id: 'e323ec626319ca94ee8bff2e4c87cf613be6ea19919ed1364124e16807ab3176',
email: 'username@gmail.com',
phone: 'e323ec626319ca94ee8bff2e4c87cf613be6ea19919ed1364124e16807ab3176',
currency: 'usd',
value: 10000 // 单位:分(不是元)
}
bePower.report('sdi2ms', eventData);
# 服务器(S2S)接入
说明
事件上报(S2S),建议自定义应用内事件优先使用S2S方式进行上报。
# 服务器地址
主域名:https://just.bepower.ing
# 上报方式
HTTP POST: ${主域名}/api/v1/devices/{bdid}/reports/{event-token}?app_token={app-token}
# URL参数说明
- bdid:
bdid可在落地页上报归因后生成,可使用bePower SDK接口获取;接入测试专用bdid:
bdid-T000000000001。 - event-token: 应用内事件唯一标识,在平台创建;
- app-token: 应用识别码,在平台创建应用后可获取。
# Body参数
格式 Content-Type: application/json,详见下面事件参数列表。
{
"uid": "", // 用户ID
"phone": "", // 手机号
"email": "", // 邮箱
.... ...
"event_at": "", // 事件实际发生时间, unix time, 到秒
}
# Response
HTTP状态码2xx 表示请求成功, 4xx, 5xx 表示失败,一些httpclient可能会抛出异常,需要进行捕获。
响应数据:
{
"status": 200,
"message": ""
}
# 事件参数
说明
为了便于媒体学习更精准,请确保参数尽量准确并且丰富。
| 属性 | 类型 | 必须 | 备注 | 说明 |
|---|---|---|---|---|
| event_token | string | Y | 事件token | 由平台创建,必传 |
| string | Y | 邮箱(SHA256) | 事件发生时,如有此值必传 | |
| uid | string | Y | 用户唯一ID(SHA256) | 事件发生时,如有此值必传 |
| fb_login_id | string | N | FB登录编号 | 事件发生时,如有此值必传 |
| user_birthday | string | N | 出生日期 | YYYY-MM-DD格式 |
| user_first_name | string | N | 用户名 | 事件发生时,如有此值必传 , 推荐使用罗马字母字符 a 至 z。仅限小写字母,且不可包含标点符号。若使用特殊字符,则须按 UTF-8 格式对文本进行编码。 |
| user_last_name | string | N | 用户姓 | 事件发生时,如有此值必传 , 推荐使用罗马字母字符 a 至 z。仅限小写字母,且不可包含标点符号。若使用特殊字符,则须按 UTF-8 格式对文本进行编码。 |
| phone | string | Y | 手机号(SHA256) | 事件发生时,如有此值必传 ,"移除符号、字母及任何前导零。手机号必须包含用于匹配的国家/地区代码(例如,印度手机号前面必须带有数字 91) 示例: 输入:手机号+91 1234-5678-90 ,标准化格式:911234567890 |
| currency | string | Y | 币种 | 事件发生时,充值相关事件必传 ,3位币种代码 |
| value | string | Y | 价值(金额) | 单位:分,充值相关事件必传 |
| order_id | string | Y | 订单ID | 事件发生时,如有此值必传 |
| product_id | string | Y | 商品ID | 事件发生时,如有此值必传 |
| product_name | string | N | 商品名称 | 事件发生时,如有此值必传 |
| third_id | string | N | 第三方设备ID | 事件发生时,如有此值必传 ,如Adjust ADID ,AFID |
| event_at | Number | Y | 事件发生事件 | 必传。Unix时间戳(以秒为单位),表示该时间的实际发生事件,您必须以格林威治标准时间 (GMT) 时区格式发送该日期。如果该参数如果“为空”,则以服务器接收事件的时间作为事件的发生时间。" |