|
@@ -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;
|
|
|
+ }
|
|
|
}
|