多盟Domob积分墙对开发者的激活反馈接口API
- 6835
- PHP
- 4
- super_dodo
- 2015/06/30
最近的一个APP中客户用到了多盟的积分墙,也就是通过集成多盟的组件,到多盟里面做任务,反馈得到相应的积分。完成任务的时候,多盟会像支付宝一样不断的请求你的回调api的地址,这样你就可以为相应的用户增加适当的积分。已达到活跃用户的目的。下面是服务端回调的api的接口。你可以参考着修改后使用。直接上代码:(我用的是Yii的框架)
/*
* domob积分墙对开发者的激活反馈接口
* 参数名 类型 说明
orderid 字符串 订单ID。该值是唯一的,如果开发者接收到相同的订单号,那说明该订单已经存在。
pubid 字符串 Publisher ID,即开发者的积分墙应用ID
ad 字符串 广告名称
adid 整型 广告ID,即offer ID
user 字符串 UserID
iOS平台,若开发者没有在积分墙iOS SDK中绑定userid,或对于没有升级到嵌入了SDK 2.0.3以上版本SDK的用户,则user为经过md5加密的用户设备的带冒号的大写的MAC地址。例子:md5('24:AB:81:5E:F6:1E')= 13A81BB8DCA00BE81794E246C8429C0E
android平台,如果开发者没有在积分墙android SDK中绑定userid,则user为设备的imei
device 字符串 设备号。
iOS:设备号优先级为mac地址 > IDFA > OpenUDID
如果mac地址为有效值(iOS 7将获取不到有效的MAC地址),则为大写的原始mac地址;否则如果多盟的SDK能够获取到设备的IDFA(iOS 6才能获取),则为设备的IDFA;如果mac地址无效且获取不到设备的IDFA,则为设备的OpenUDID
android:统一返回设备的imei
channel 整型 渠道号。预留给android的推广,对于iOS来说该值为0
price 浮点型,保留两位小数 开发者获得的收入
point 整型 用户可获得的积分
ts 整型 成功结算的时间戳,精确到秒
sign 字符串 签名。根据private_key与所有参数共同计算得出。
pkg 字符串 被激活的广告的包名,例如 cn.domob.demo
action 整型 动作编号,从0开始。通常0表示激活,1表示签到
action_name 字符串 动作名称,例如“激活”,“签到-1”,“签到-2”等。
*/
class DomobController extends VController{
//多盟的回调API的接口
public function actionFeedback(){
$request = Yii::app()->request;
$orderid = $request->getParam("orderid");
$pubid = $request->getParam("pubid");
$ad = $request->getParam("ad"); //广告名称
$adid = $request->getParam("adid"); //广告id
$mid = $request->getParam("user"); //用户id
$price = $request->getParam("price"); //收入
$point = $request->getParam("point"); //积分
$ts = $request->getParam("ts"); // 成功结算的时间戳,精确到秒
$pkg = $request->getParam("pkg"); //被激活的广告的包名
$action_name = $request->getParam("action_name"); // 动作名称
file_put_contents('./log/domob_log.txt',$mid.'=='.$point.PHP_EOL,FILE_APPEND); //日志记录
$domobInfo = DomobOrderList::model()->find("order_id='{$orderid}' AND member_id='{$mid}'");
if($domobInfo){ //该用户已完成了该多米任务
header("HTTP/1.1 403 Forbidden");
exit;
}else{
if($mid){ // 绑定了用户id
$memInfo = MemberList::model()->findByPk($mid);
$memInfo->jifen += $point;
if($memInfo->save()){ //用户增加积分和金额
//增加积分获得的记录表
$memJifenList = new MemberJifenList;
//此处自由发挥,记录任何你想记录的东西
$memJifenList->add_time = time();
$memJifenList->remark = '多盟任务赠送积分';
$memJifenList->isNewRecord = true;
if(!$memJifenList->save()){
header("HTTP/1.1 404 Not Found");
exit;
}
}else{
header("HTTP/1.1 404 Not Found");
exit;
}
}
//记录多盟的订单信息....
$orderList = new DomobOrderList;
//此处自由发挥,记录你想记录的东西
$orderList->add_time = time();
$orderList->remark = $ad."任务完成"."获得".$point."个积分";
$orderList->isNewRecord = true;
if($orderList->save()){
header("HTTP/1.1 403 Forbidden");
exit;
}else{
header("HTTP/1.1 404 Not Found");
exit;
}
}
}
}
凡事失败理由千千万,成功理由只有一个,那就是你还不够努力!
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例

