小米营销App投放--php

文档地址:

https://api.e.mi.com/doc.html#/1.0.0-mdtag9b26f-omd/document-f0283649125f62138db43c6f5fc25686

class Xiaomi
{
/********这里的具体账号自己填**********/public $encrypt_key = '';public $sign_key = '';public $appId = '';public $customerId = '';public $url = 'http://trail.e.mi.com/global/log';public function callback($request, $ua, $ip){try{list($t1, $t2) = explode(' ', microtime());$str_time = sprintf('%u', (floatval($t1) + floatval($t2)) * 1000);$params = ['imei' => (isset($request['imei']) && $request['imei']) ? md5($request['imei']) : '','oaid' => (isset($request['ou_id']) && $request['ou_id']) ? $request['ou_id'] : '','conv_time' => $str_time,'client_ip' => $ip,'ua' => $ua];if(!$params['imei']){unset($params['imei']);}if(!$params['oaid']){unset($params['oaid']);}$queryString = http_build_query($params);$property = $this->sign_key . '&' . urlencode($queryString);$signature = md5($property);$baseData = $queryString . '&sign=' . urlencode($signature);$info = $this->mima($baseData);$queryParams = ['appId' => $this->appId,'info' => $info,'conv_type' => 'APP_ACTIVE_NEW','customer_id' => $this->customerId,];$this->request($queryParams);}catch(\Exception $e){dd('error');}}public function request($queryParams){$url = $this->url . '?' . http_build_query($queryParams);$client = new Client();$response = $client->get($url);$data = $response->getBody()->getContents();dd($data);}public function jiajiemi($q){$crytxt = '';for ($i = 0; $i < strlen($q); $i++) {$m = $i % strlen($this->encrypt_key);$crytxt .= $q[$i] ^ $k[$m];}return $crytxt;}public function mima($q){$str = $this->jiajiemi($q);return base64_encode($str);}

Base64(simple_xor{base_data, encrypt_key}),这个地方有点难,调用上面mima()解决。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部