Home  >  Article  >  Backend Development  >  PHP: Push messages using Aurora

PHP: Push messages using Aurora

PHPz
PHPzOriginal
2017-04-04 15:20:414871browse

First we create a class: (The following is the code of the class)

class jpush {    
private $_masterSecret = '';    
private $_appkeys = '';    
function construct($masterSecret = '',$appkeys = '') {     
   $this->_masterSecret = $masterSecret;        $this->_appkeys = $appkeys;    }   
 /**     * 模拟post进行url请求     * @param string $url     * @param string $param     */  
 function request_post($url = '', $param = '') {        if (empty($url) || empty($param)) {  
         return false;       }        
$base64_auth_string=base64_encode("$this->_appkeys:$this->_masterSecret");        $header=array("Authorization:Basic $base64_auth_string");       
 $postUrl = $url;        
$curlPost = $param;        
$ch = curl_init();//初始化curl     
curl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定网页        
curl_setopt($ch, CURLOPT_HEADER, 0);//设置header        
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上        curl_setopt($ch, CURLOPT_POST, 1);//post提交方式        
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);        
curl_setopt($ch, CURLOPT_HTTPHEADER,$header);       
 $data = curl_exec($ch);//运行curl        curl_close($ch);        return $data;    }   
 /**     * 发送     
* @param int $sendno 发送编号。由开发者自己维护,标识一次发送请求     
* @param int $receiver_type 接收者类型。
1、指定的 IMEI。此时必须指定 appKeys。
2、指定的 tag。
3、指定的 alias。
4、 对指定 appkey 的所有用户推送消息。     
* @param string $receiver_value 发送范围值,与 receiver_type相对应。 
1、IMEI只支持一个 
2、tag 支持多个,使用 "," 间隔。 
3、alias 支持多个,使用 "," 间隔。 
4、不需要填     
* @param int $msg_type 发送消息的类型:
1、通知 
2、自定义消息     
* @param string $msg_content 发送消息的内容。 与 msg_type 相对应的值    
* @param string $platform 目标用户终端手机的平台类型,如: android, ios 多个请使用逗号分隔     */    function send($sendno = 0,$receiver_type = 1, $receiver_value = '', $msg_type = 1, $msg_content = '', $platform = 'ios') {        
$url = 'http://api.jpush.cn:8800/sendmsg/v2/sendmsg';        
$param = '';        
$param .= '&sendno='.$sendno;        
$appkeys = $this->_appkeys;        
$param .= '&app_key='.$appkeys;        
$param .= '&receiver_type='.$receiver_type;       
 $param .= '&receiver_value='.$receiver_value;        
$masterSecret = $this->_masterSecret;        
$verification_code = md5($sendno.$receiver_type.$receiver_value.$masterSecret);        $param .= '&verification_code='.$verification_code;        
$param .= '&msg_type='.$msg_type;        
$param .= '&msg_content='.$msg_content;        
$param .= '&platform='.$platform;        
$res = $this->request_post($url, $param);        
if ($res === false) {
            return false;        }        
$res_arr = json_decode($res, true);        
return $res_arr;   
 }}

In this way, our calling class is completed. Next is how to call this class

$n_title   =  ''//发送的标题
;$n_content =  ''//发送的内容
;$arr = array('fromer'=>'发送者','fromer_name'=>'发送者名字','fromer_icon'=>'发送者头像','image'=>'发送图片链接','sound'=>'发送音乐链接', 'pageType'=>0);//自定义参数
$appkeys='填写你的极光推送的appkey';
$masterSecret='填写你的极光推送的masterSecret';
$sendno = 4;//发送编号。由开发者自己维护,标识一次发送请求
$receiver_value = '4';//发送范围值,与 receiver_type相对应
$platform = 'ios' ;//目标终端类型,如果是全平台得话可直接写成“all”,如果是安卓和苹果应用逗号隔开('android,ios')
$msg_content = json_encode(array('n_builder_id'=>0, 'n_title'=>$n_title,'n_content'=>$n_content,'n_extras'=>$arr));$obj = new jpush($masterSecret,$appkeys);
$res = $obj->send($sendno, 4, $receiver_value, 1, $msg_content, $platform);
print_r($res);
exit();

The above is the detailed content of PHP: Push messages using Aurora. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn