有米广告Youmi的回调信息的Api接口(苹果Apple版本)
- 4950
- PHP
- 10
- super_dodo
- 2015/06/30
紧接上一篇 有米广告Youmi的回调信息的Api接口(安卓版本).这一篇主要的就是apple版本了。不多解释,直接上代码。
/*
* 功能概述:有米广告的回调信息的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 actionApple(){
$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"); //渠道号
$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 = 'd*******1';
$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_apple_log.txt', $get_str, FILE_APPEND);
*/
$youmiInfo = YoumiAppleList::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 YoumiAppleList;
//记录你需要记录的任何信息
$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的使用示例

