有米广告Youmi的回调信息的Api接口(安卓版本)
- 4423
- PHP
- 7
- super_dodo
- 2015/06/30
有米广告是一个很不错的平台,里面任务多,用户也比较活跃,知名度也高。前一篇中说到了多盟的回调接口api,这一篇我主要是有米的安卓版本的回调API,PS有米中安卓和苹果的接口略有不同,分开写比较灵活。直接上代码。
/* * 功能概述:有米广告的回调信息的Api接口文件 * 版本信息: DoDoBook---V201506 $ * 接口说明文档的地址:http://wiki.youmi.net/Youmi_android_offers_order_callback_protocol Order ID order string 订单ID:该值是唯一的,如果开发者接收到相同的订单号,那说明该订单已经存在。 App ID app string 开发者应用ID Ad Name ad string 广告名,如果是应用类型的广告则是应用名 注:参数经过urlencode,请使用urldecode获取原始参数 User ID user string 用户ID:对于有米积分墙第二版及以上版本开发者可以设置自己的用户ID,例如开发者的应用是有登录功能的,则可以使用登录后的用户ID来替代有米提供的标识CID(有米为每台设备生成的唯一标识符),否则有米会自动设置为CID。 注:参数经过urlencode,请使用urldecode获取原始参数。 Channel chn int 渠道号 Points points int 用户可以赚取的积分 如果该值为0,则表示可能用户因为某些情况拿不到积分,例如用户当天激活的次数超过最大的限制值(会和开发者进行结算,但是不会给用户积分) Signature sig string 参数签名,签名算法如下。 该值的作用是校验上述参数的完整性,以防止在传输过程中被第三方篡改。 Adid adid int 广告id Package Name pkg String 应用包名 Device ID device string 设备ID:android是imei 注:参数经过urlencode,请使用urldecode获取原始参数。 Time time int 产生效果的时间 Price price float 应用可以获得的收入 Trade_Type trade_type int 回调的任务类型。1=>主任务;2=>附加任务(附加任务可能会有多个) */ class YoumiController extends VController{ //有米安卓的回调API public function actionAndroid(){ $request = Yii::app()->request; $order = $request->getParam("order"); $app = $request->getParam("app"); $ad = urldecode($request->getParam("ad")); //广告名称 $mid = urldecode($request->getParam("user")); //用户id $chn = $request->getParam("chn"); //用户id $point = $request->getParam("points"); //积分 $ad_id = $request->getParam("adid"); //广告id $pkg = $request->getParam("pkg"); //应用包名 $device = urldecode($request->getParam("device")); //设备ID $finish_time = $request->getParam("time"); //产生效果的时间 $price = $request->getParam("price"); //应用可以获得的收入 $trade_type = $request->getParam("trade_type"); //回调的任务类型 $sig_url = $request->getParam("sig"); //签名 //判断签名是否被篡改 /* $dev_server_secret = 'c34444ed351b3b51'; $sig = substr(md5($dev_server_secret . "||" . $order . "||" . $app . "||" . $mid . "||" . $chn . "||" . $ad . "||" . $point), 12, 8); if($sig == $sig_url){ //签名验证失败 header("HTTP/1.0 400 Bad Request"); exit; }*/ /* $get_str = Date('Y-m-d H:i:s')."\r\n"; if(!empty($_GET)){ foreach ($_GET as $kkkk => $vvvv) { $get_str .= $kkkk.'----'.$vvvv."\r\n"; } $get_str .= '=================='; } //记录得到的参数 file_put_contents('./log/youmi_android_log.txt', $get_str, FILE_APPEND); */ $youmiInfo = YoumiAndroidList::model()->find("order_id='{$order}' AND member_id='{$mid}'"); if($youmiInfo){ //该用户已完成了该多米任务 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->remark = '有米安卓任务赠送积分'; $memJifenList->isNewRecord = true; if(!$memJifenList->save()){ header("HTTP/1.0 400 Bad Request"); exit; } }else{ header("HTTP/1.0 400 Bad Request"); exit; } } $orderList = new YoumiAndroidList; //此处自由发挥,记录你需要的任何信息.... $memJifenList->remark = '有米安卓任务赠送积分'; $orderList->isNewRecord = true; if($orderList->save()){ header("HTTP/1.1 403 Forbidden"); exit; }else{ header("HTTP/1.0 400 Bad Request"); exit; } } } }
相关链接:有米广告Youmi的回调信息的Api接口(安卓版本)
所谓幸福,是在于认清一个人的限度而安于这个限度。——罗曼罗兰
相关阅读
- 通过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的使用示例