多盟Domob积分墙对开发者的激活反馈接口API
- 6289
- 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的使用示例