同步自定义目标操作指引

1. 开启推送和设定目标地址

在开始之前,请在 UPLTV 后台将相关应用的推送状态打开,并提供目标地址等必要参数。

  1. 登陆 UPLTV 后台,在“高级功能 - 收益拆分”页面中,找到“广告收入ROI分析”功能模块;
  2. 选择“自定义推送”标签页;
  3. 找到需要开启推送的应用,点击编辑图标;
  4. 将启用状态开关置为开启状态,并填入推送目标地址的完整 URL 后,如果是 iOS 应用还需额外提供应用的 Apple ID,完成后点击勾号确认按钮进行保存;
  5. 已启用同步的应用,应用操作栏中会显示“发送测试数据”按钮,请点击该按钮以校验同步设置是否正常。

重要:出于安全性考虑,我们强烈建议您使用 https 格式的 URL 作为目标地址!

2. 推送请求内容

请求地址:您设定的推送目标地址

请求方式:POST

请求参数

推送的数据将是一个 json 数组,数组中每个元素均为一条独立的数据记录。每条记录都将包含如下参数字段:

参数 类型 是否必填 描述 示例
upltv_product_id string UPLTV 系统中的产品编号,由7位数字组成的字符串 1001786
product_mark string 产品标识信息,包括应用平台(android 或 ios)和应用标识(安卓应用为包名,iOS应用为Apple ID),二者以英文冒号分割。 android:com.testing.new
device_id string 设备标识信息,安卓设备为 GAID,iOS设备为 IDFA 1E2DFA89-496A-47FD-9941-DF1FC4E6484A
event_name string 产生收益的事件名称 UPLTV_adrev
currency string 收益的币种类型 usd
revenue float 该用户当日的收益汇总金额 17.19
event_time datetime 记录生成时间(UST),通常为收益产生时间次日零点。格式:yyyy-mm-dd hh:mm:ss 2019-07-07 00:00:00

请求示例:

[{
    "upltv_product_id":"1001786",
    "product_mark":"android:com.testing.new",
    "device_id":"38400000-8cf0-11bd-b23e-10b96e40000d",
    "event_name":"UPLTV_adrev",
    "revenue": 0.88,
    "currency": "usd",
    "event_time":"2019-07-17 00:00:00"
},
{
    "upltv_product_id":"1001785",
    "product_mark":"ios:1759002391",
    "device_id":"1E2DFA89-496A-47FD-9941-DF1FC4E6484A",
    "event_name":"UPLTV_adrev",
    "revenue": 0.89,
    "currency": "usd",
    "event_time":"2019-07-17 00:00:00"
}]

3. 返回内容

请在接收到推送请求后,请在返回信息中提供如下内容:

参数 类型 是否必填 描述 示例
code number 处理状态码,处理成功时请返回 200 200
message string 描述信息,请求处理结果的简要说明 处理成功

返回示例:

{
    "code":200,
    "message":"操作成功"
}

4. 请求地址白名单

如果您提供的目标地址有访问 IP 白名单限制,请将 UPLTV 可能会用到的如下请求发送地址加入到您的 IP 白名单中: 120.132.23.7

5. 重要机制说明

  1. UPLTV 会于 UTC 时间每日19点开始推送前一日数据,根据实际任务处理队列,不同产品会在此时间点后向后顺延推迟。
  2. 每天的数据会拆分成多个请求进行推送,每次请求最多包含20条数据记录。
  3. 请求超时未返回(超时时间 15000ms),或返回 json 内容中 code 不是200,均认为该次推送请求失败。
  4. 针对失败的推送请求,UPLTV 会尝试重新推送,最多会进行3次重试。
  5. 如需获取未推送成功的数据,暂行请通过您的商务代表联系 UPLTV 处理。
  6. 由于存在重试机制,故此建议您处理推送数据时,以 upltv_product_id 和 device_id 联合作为唯一标识进行本地数据更新操作,以免出现冗余数据。