# 3、API对接
# 对接技术须知 须知 token:
对接注意:
1、获取任务列表接口无需分页处理,limit默认传递10即可,
2、以下所有的接口发送请求都需要在header里面携带token,Content-Type: application/json;charset=utf-8
# 对接流程:
第一步:在进入列表页,首先请求getLuaCInfo接口,拿到content加密,详见【请求content】;
第三步: 用户点击列表中某一个任务,进行判断
如果taskType为0并且不在进行中的任务,需要判断本地是否已经安装此应用; 如果本地有安装请提示用户卸载后重新做任务,如果没有安装,需要判断该任务是否在进行中并且是深度任务; 如果是在进行中的且深度的任务,需要判断taskDate和今天的日期是否相等;
如果相等,则不请求接口,需要带上taskId,taskType直接进入详情页
如果taskDate和今天的日期不相等,则提示用户请按指定日期完成任务。
如果是不在进行中的任务,则请求抢任务接口【[抢任务](./app_task_list.html#第二步:抢任务进详情)】,接口状态返回200或者当前的任务running为true是在进行中的状态,就不需要再抢任务,传递taskId,taskType直接进入详情页【[详情页](./app_task_list.html#进入h5详情)】, 当用户有其他的任务在进行中,抢新任务的时候,接口会返回code为102,需要弹窗提示用户是否放弃进行中的任务,抢新的任务, 如果点击放弃,则请求放弃任务的接口【[任务放弃](./app_task_list.html#任务放弃接口)】,放弃成功后再传递当前点击任务的taskId,taskType请求抢任务的接口【[抢任务](./app_task_list.html#第二步:抢任务进详情)】,抢成功后进入详情页,如果点击继续任务,则跳转到进行中的任务
注意:taskType为0的深度任务可以有多个任务在进行中的状态,如果taskType为0的深度任务在进行中,抢别的任务不用弹窗放弃在进行中的taskType为0的任务
**第四步:**开发应用赚回调接口,用户提交截图审核或内容审核,平台审核成功后 ,会通过媒体方回调接口通知给用户发放相应的奖励。详见:【应用赚任务领奖通知】。
# 基础:请求token
# 请求链接
url地址:https://api.aibianxian.net/igame/api/v1.0/cplApi/access
# 请求方式
post
# 请求参数
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 应用id | app_key | 是 | String(32) | 142792745 | 平台的应用id |
| 设备 | device | 是 | String(32) | ios | ios,android |
| 设备号 | device_info | 是 | String(32) | 013467007045764 | 安卓传imei,ios传参idfa值 |
| 用户标识 | target_id | 是 | String(128) | 13457 | 接入平台的用户唯一标示(接入平台用户id) |
# 返回结果
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 返回状态码 | code | 是 | String(16) | 200 | 200/300 此字段是通信标识,非交易标识 |
| 返回信息 | message | 是 | String(128) | 请求成功 | 当code不为200时返回信息为错误原因 ,例如 签名失败 参数格式校验错误 |
| 返回数据 | data | 是 | String(256) | dsa3odhshbey4clfmdj1537 | 当code为200时返回的信息,为将要跳转的地址 |
# 错误码
| 名称 | 原因 | 解决方案 |
|---|---|---|
| 301 | 参数格式有误或者未按规则上传 | 按要求填写参数,请确认参数问题 |
# 基础:请求content
# 接口
https://api.aibianxian.net/igame/h5/v1.51/cpa/getLuaCInfo
# 请求方式
get
# 返回值
{
"code":200,
"data":{
content:"1321221"
}
}
获取到content后,调用安卓SDK方法
window.aibianxian.ibx_ObtainBaseInfo(content)
# 基础:获取base
H5自定义方法供原生安卓回调
window['baseInfo'] = (value) => {
let baseInfoObj = JSON.parse(atob(value));
};
baseInfoObj为下述base,oaid为baseInfoObj.oaid
# 第一步:获取应用赚列表
# 接口
https://api.aibianxian.net/igame/h5/v1.51/cpa/getList
# 请求方式
post
# 请求参数
// 不分页,limit传递 10 即可
{
params: {
page, //Number类型
limit //Number类型
},
base: base, //获取到的安卓base,base是一个Object类型
oaid: oaid, //base对象里面的oaid
ip: ip //用户的ip
}
# 返回值
点击查看接口返回值
{
"code": "200",
"msg":"成功",
"totalCount":40,
"info":0,
"resultCount":40,
"isShow":null,
"data": [
{
"orderId" : "785499078317346816", //订单id
"taskType" : 0, // 0:ASO任务, 1:注册任务 ,8:搜索注册任务, 9:开放任务, 11:小程序任务, 17:CPA任务
"appName" : "遇见", //app名字
"appPackageName" : "net.iaround", //包名
"appMarketDownloadUrl" : "https://imoneyandroid.oss-cn-beijing.aliyuncs.com/appMarket/com.huawei.appmarket.apk",
"appIcon" : "https://imoneyandroid.oss-cn-beijing.aliyuncs.com/appIcon/2020/12/7/appIcon_996a6c0f-4db3-4ca4-a576-1cdff9528dbc.png", // icon
"price" : 0.35, //价格
"taskWay" : 1,
"isDeepTask" : 1, //是否是深度任务,1是深度
"deepTaskInfo" : [
{
"dayNUm" : 0,
"income" : 0.4,
"playTime" : 4,
"taskState" : 0
},
{
"dayNUm" : 1,
"income" : 0.4,
"playTime" : 4,
"taskState" : 0
}
],
"appMarket" : "华为应用商店",
"appMarketPackageName" : "com.huawei.appmarket",
"keywords" : "遇见", //关键词
"keywordsRank" : 1, //关键词排名
"remainNum" : 9, //剩余多少份任务
"tag" : "",
"showRank" : 90,
"currentTime" : 1607501267086,
"running" : 0, //是否正在进行中,1是0否
"unit": "元" //显示单位
}
]
}
# 第二步:抢任务进详情
# 接口
https://api.aibianxian.net/igame/h5/v1.51/cpa/robTask
# 请求方式
post
# 请求参数
{
params: {
orderId, //任务的orderId
taskType //任务的taskType
},
base: base, //获取到的安卓base,base是一个Object类型
oaid: oaid, //base对象里面的oaid
ip: ip //用户的ip
}
# 返回值
{
"code": "200",
"data": {
"taskId" : 3131312313, //抢到的任务ID,进详情需要传递
"taskType" : 0 , //任务类型,进详情需要传递
"msg" : "", //给用户的提示信息
},
"msg": "成功" //系统出错提示信息
}
# 进入H5详情
https://api.aibianxian.net/igameh5/#/cpadetail?nextClose=1&taskId=xxx&taskType=xxx&token=xxx
- taskId:抢任务成功时,接口返回的id
- taskType:任务类型
- token:用户token
# 任务放弃接口
# 接口
https://api.aibianxian.net/igame/h5/v1.51/cpa/giveUpTask
# 请求方式
post
# 请求参数
{
params: {
taskId: taskId, //当前放弃任务的taskId
taskType: taskType, //当前放弃任务的taskType
},
base: base,
oaid: oaid, //base对象里面的oaid
ip: ip //用户的ip
}
# 返回值
{
"code": "200",
"data": {
"taskId" : 3131312313, //抢到的任务ID
"taskType" : 0 , //任务类型
"msg" : "", //给用户的提示信息
},
"msg": "成功" //系统出错提示信息
}
# 任务记录
说明:任务审核中,审核未通过接口(审核中,审核未通过用的是同一个接口),已发奖接口详见【已发奖任务记录】
# 接口
https://api.aibianxian.net/igame/h5/v1.51/cpa/getTaskAuditDetail
# 请求方式
post
# 请求参数
// 分页
{
params: {
page,
limit
}
}
根据返回值的taskState状态判断是审核中的还是审核未通过的,1 正在审核 2 审核未通过
# 返回值
{
"code": 0,
"data": {
[
"appName":" 应用名称",
"appIcon": "应用图标",
"taskState": 1, // 任务状态 1 正在审核 2 审核失败
"income": "任务收益金额",
"tag": "任务标签",
"createDate": "创建时间",
"auditErrorMsg":"审核失败原因"
]
},
"info": 0,
"isShow": true,
"msg": "string",
"resultCount": 0,
"totalCount": 0
}
# 已发奖任务记录
# 接口
https://api.aibianxian.net/igame/h5/v1.51/cpa/getMoneyChangeInfo
# 请求方式
post
# 请求参数
//分页
{
params: {
page,
limit
}
}
根据返回值的taskState状态判断是审核中的还是审核未通过的,1 正在审核 2 审核未通过
# 返回值
{
"code": 0,
"data": {
"userMoneyChangeDetails":[
{
"appIcon":"应用Icon地址",
"appName":"应用名称",
"date": "变动时间",
"changeMoney": "变动的金额",
}
]
},
"info": 0,
"isShow": true,
"msg": "string",
"resultCount": 0,
"totalCount": 0
}
# base示例(参考,请以实际获取为准)
点击base示例
{
"appSign": "",
"base": {
"apBssid": "02:00:00:00:00:00",
"apIP": "172.17.1.67",
"apSsid": "<unknown ssid>",
"appFountDuration": "15656",
"appSign": "d5cd9270e3bcf878074df964a7dab03f",
"batteryChargeStatus": "discharging",
"batteryHealth": "good",
"batteryPercentage": "100",
"batteryPowerInformation": "-1",
"batteryTechnology": "Li-poly",
"batteryTemperature": "290",
"batteryVoltage": "4366",
"channelName": "default",
"downloadSpeed": "5.6435547",
"imei": "",
"imei2": "",
"isAdb": "1",
"isFly": "0",
"jpushID": "-1",
"manuFacturer": "HUAWEI",
"model": "ELE-AL00",
"networkCountryIso": "cn",
"phoneIp": "172.17.1.67",
"phoneNetStats": "wifi",
"proxy": false,
"proxyPort": "-1",
"sdkCode": "29",
"sim2Stats": "-1",
"simOperator": "",
"simOperatorName": "",
"simSerialNumber": "",
"simStats": "1",
"simcountryIso": "",
"systemVersion": "10",
"telephonyCell": "-1",
"telephonyLac": "-1",
"udid": "6bea52888edd1aaff5132fe910470926",
"vpn": "false",
"wlanMac": "02:00:00:00:00:00"
},
"oaid": "b96aced3-d57c-42a5-8a45-57f4383feb33",
"params": {
"page": "1",
"limit": "10"
}
}