Browse Source

亿米广告,修改在注册流程里

lizhen_gitee 3 years ago
parent
commit
cad5611945
2 changed files with 82 additions and 1 deletions
  1. 1 1
      application/api/controller/Advert.php
  2. 81 0
      application/api/controller/User.php

+ 1 - 1
application/api/controller/Advert.php

@@ -89,7 +89,7 @@ class Advert extends Api
         $info = urlencode(base64_encode($this->xor_enc($base_data, $encrypt_key)));
         //dump($info);
 
-        $request_url = $api_url_test.'appId='.$appid.'&info='.$info.'&customer_id='.$customer_id.'&conv_type='.$conv_type;
+        $request_url = $api_url.'appId='.$appid.'&info='.$info.'&customer_id='.$customer_id.'&conv_type='.$conv_type;
         //echo $request_url;
 
         $result = curl_get($request_url);

+ 81 - 0
application/api/controller/User.php

@@ -97,6 +97,9 @@ class User extends Api
             $ret = $this->auth->direct($user->id);
         } else {
             $ret = $this->auth->register($mobile, Random::alnum(), '', $mobile, []);
+            //亿米
+            $ua = input('ua','','trim');
+            $this->yimi_advert($ua);
         }
         if ($ret) {
             Sms::flush($mobile, 'mobilelogin');
@@ -173,6 +176,9 @@ class User extends Api
             }
             $reg_data = ['nickname'=>$nickname,'avatar'=>$avatar,'gender'=>$gender];
             $ret = $this->auth->openid_register($wechat_openid,$reg_data);
+            //亿米
+            $ua = input('ua','','trim');
+            $this->yimi_advert($ua);
         }
         if ($ret) {
             $data = $this->userInfo('return');
@@ -234,6 +240,9 @@ class User extends Api
                 } else {
                     $ret = $this->auth->register($mobile, Random::alnum(), '', $mobile, []);
                     $is_register = 1;
+                    //亿米
+                    $ua = input('ua','','trim');
+                    $this->yimi_advert($ua);
                 }
 
                 //结果
@@ -904,4 +913,76 @@ class User extends Api
         $this->auth->logout();
         $this->success('注销成功');
     }
+
+    //APP 转化数据统计方案(即:APP 上报对接方案): 广告主上报激活数据,亿米平台搭建服务系统关联点击&下载数据和广告主提供的所有激活数据,将激活数据归因到对应广告。
+    public function yimi_advert($ua = ''){
+        //http://trail.e.mi.com/global/log?appId={appid}&info={data}&conv_type={convType}&customer_id={customerId}
+        $api_url      = 'http://trail.e.mi.com/global/log?';
+        $api_url_test = 'http://trail.e.mi.com/global/test?';
+
+        //应用id 1453045
+        //秘钥A(encrypt_key):ZxdIaVHvFqSQYzWD
+        //秘钥B(sign_key):uaeWeunykLRnkyLw
+        $sign_key = 'uaeWeunykLRnkyLw'; //真的
+        $encrypt_key = 'ZxdIaVHvFqSQYzWD';//真的
+
+        $appid = '1453045';
+        $conv_type = 'APP_REGISTER';
+        $customer_id = '292232';
+
+        //推荐模式
+        /*$imei = md5('imei');
+        $data = [
+            'imei' => '91b9185dba1772851dd02b276a6c969e',
+            'oaid' => '5fb96f268628810c',
+            'conv_time' => '1504687208890',
+            'client_ip' => '127.0.0.1',
+            'ua' => 'Dalvik/2.1.0 (Linux; U; Android 11; M2012K11AC Build/RKQ1.200826.002)',
+        ];*/
+
+        //采用模式
+        if(empty($ua)){
+            return true;
+        }
+        $data = [
+            'conv_time' => time().substr(microtime(),2,3),
+            'client_ip' => request()->ip(),
+            'ua' => $ua,
+        ];
+
+        $data_query = http_build_query($data);
+        //dump($data_query);
+
+        $property = $sign_key.'&'.urlencode($data_query);
+        //dump($property);
+
+        $signature = md5($property);
+        //dump($signature);
+
+        $base_data = $data_query .'&sign='.urlencode($signature);
+        //echo $base_data;
+
+        $info = urlencode(base64_encode($this->xor_enc($base_data, $encrypt_key)));
+        //dump($info);
+
+        $request_url = $api_url.'appId='.$appid.'&info='.$info.'&customer_id='.$customer_id.'&conv_type='.$conv_type;
+        //echo $request_url;
+
+        $result = curl_get($request_url);
+        //dump($result);
+        return true;
+    }
+
+    //亿米 异或加密,解密
+    public function xor_enc($str,$key)
+    {
+        $crytxt = '';
+        $keylen = strlen($key);
+        for($i=0;$i<strlen($str);$i++)
+        {
+            $k = $i%$keylen;
+            $crytxt .= $str[$i] ^ $key[$k];
+        }
+        return $crytxt;
+    }
 }