# PWA手册

说明

建议所有自定义应用事件,全部走S2S方式进行上报。目前落地页模版为商店详情页。

# 整体流程

说明

建议所有自定义应用事件,全部走S2S方式进行上报。 自动化部署正在开发中,目前流程中的步骤6-7暂时需要人工对接。

  1. 运营:BePower后台创建应用,并在应用内添加跟踪链接、配置渠道参数和事件映射。
  2. 前端:前端接入BePower-pwa SDK,页面加载时进行初始化;
  3. 前端&后端:用户注册时,将BDID传到后端进行持久化存储,每个用户ID对应一个BDID;
  4. 后端:根据投放需求上报用户的行为事件,APP后端进行S2S上报;
  5. 编译工程:打包APP前端html工程(注意:非根目录部署,path为 /{appToken}/)
  6. 提供配置:在后台创建对应应用和跟踪链接后,提供对应的appToken和trackerToken给到BePower支持;
  7. 提供物料:提供前端编译后资源、APP物料(iCON、5图、名称、商店描述、模拟评论信息)给到BePower支持,用于部署安装页面。
  8. 开启投放

# 投放链接

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初始化

  1. 加载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 由平台创建,必传
email 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) 时区格式发送该日期。如果该参数如果“为空”,则以服务器接收事件的时间作为事件的发生时间。"
上次更新: 20 days ago