百度搜索推广以及信息流推广为监测数据转化情况,会使用到线索api联调,其共有119种转化方式,转化编号以1-119数字编号命名,具体规则可参照百度转化追踪转化编码类型明细。本文以TP5框架为例说明如何进行联调。
TP5核心代码:
<?php namespace app\index\controller; use think\Db; use think\Session; class Index extends Common { const BAIDU_OCPC_URL = 'https://ocpc.baidu.com/ocpcapi/api/uploadConvertData'; const RETRY_TIMES = 3; /** * @param $token * @param $conversionTypes * @return bool 发送成功返回true,失败返回false */ public function sendConvertData($token, $conversionTypes) { $reqData = array('token' => $token, 'conversionTypes' => $conversionTypes); $reqData = json_encode($reqData); // 发送完整的请求数据 // 向百度发送数据 $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, self::BAIDU_OCPC_URL); curl_setopt($ch, CURLOPT_POSTFIELDS, $reqData); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json; charset=utf-8', 'Content-Length: ' . strlen($reqData) ) ); // 添加重试,重试次数为3 for ($i = 0; $i < self::RETRY_TIMES; $i++) { $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($httpCode === 200) { // print_r('retry times: ' . $i . ' res: ' . $response . "\n"); $res = json_decode($response, true); // status为4,代表服务端异常,可添加重试 $status = $res['header']['status']; if ($status !== 4) { curl_close($ch); return $status === 0; } } } curl_close($ch); return false; } public function index() { $bd_vid=input('bd_vid'); Session::set('bd_vid',$bd_vid); //将bd_vid值以SESSION形式储存,方便在页面上进行事件触发时不再需要从页面往回传值。 //以下是自己的业务逻辑 $search['b.look']=['=','1']; $infolist=db('form_travel')->alias("a") ->join('formcon b', 'a.conid = b.vid') ->where($search) ->order('conid desc')->limit(5) ->select(); $this->assign([ 'infolist' => $infolist, ]); Db::table('lecms_block')->where('id', 50)->setInc('content'); $num= db('form_travel')->count(); //获取评论总数 $this->assign('num',$num); return $this->fetch($this->tpl_file.'index_index.html'); } //页面上的点击事件,点击后调用联调 public function copylink(){ //从session获取回bd_vid值传给落地页 $newbd_vid=Session::get('bd_vid'); //echo($newbd_vid); $token = '你的百度token'; // 编辑一条转化数据 $cv = array( 'logidUrl' => "https://www.nmbn.net/?bd_vid=$newbd_vid", // 您的落地页url 'convertType' => 35 // 转化类型请按实际情况填写 35是代表复制微信事件 ); // 此处仅为demo, conversionTypes支持添加更多数据 $conversionTypes = array($cv); $this->sendConvertData($token, $conversionTypes); //$info = ['code'=>1,'status'=>'success','msg'=>'联调成功!']; //return json($info); } }
测试成功后的联调状态会变更为联调成功,此时即可正常投放广告。
*声明:本站发布的内容以原创、转载、分享网络内容为主,文章观点不代表本站立场,如有侵权,请联系管理员,将及时删除,邮箱:6@60000.net,QQ:4230997
上一篇:没有了