国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP 友盟消息推送類

2020-03-22 18:51:17
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了關于PHP 友盟消息推送類,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

<?php/** * 友盟消息 安卓 IOS 推送類 *  */html' target='_blank'>class AlliesClass{    protected $host; //發送地址    protected $app_key; //appkey    protected $appMasterSecret; //app secret    protected $description; //app secret    //    public function __construct($options = null)    {        if (is_array($options)){            $this->host = 'https://msgapi.umeng.com/api/send';            $this->app_key = $options['app_key'];            $this->appMasterSecret = $options['appMasterSecret'];            $this->description = "友盟接口推送";        }else{            return false;        }    }    /**     * @param $info     * @param $device_token     * @return mixed|string     * 用戶單播 和 列播     */    public function Android_Device_Push($info, $device_token)    {        $data['appkey'] = $this->app_key;        $data['timestamp'] = time(); //時間戳        if(is_array($device_token)){            //批量用戶列播            $data['type'] = 'listcast';            $data['device_tokens'] =  implode(',',$device_token); //數組轉字符串        }else{            //一個用戶單播            $data['type'] = 'unicast';            $data['device_tokens'] =  $device_token;        }        //payload內容        $data['payload']['display_type'] = 'notification'; //通知消息        //payload body內容        $data['payload']['body']['after_open'] = "go_custom"; //后續操作打開app        $data['payload']['body']['ticker'] = $info['ticker'];        $data['payload']['body']['title'] = $info['title'];        $data['payload']['body']['text'] = $info['title']; //廣播通知不能為空補填        //這里可以寫附加字段        $data['payload']['extra']['type'] = $info['type'];  //附加字段類型        $data['production_mode'] = $info['production_mode'];        $data['description'] = $this->description;        return $this->send($data, $this->host, $this->appMasterSecret);    }    /**     * @param $info     * @return mixed|string     * 廣播     */    public function Android_Broadcast($info)    {        $data['appkey'] = $this->app_key;        $data['timestamp'] = time(); //時間戳        //廣播消息        $data['type'] = 'broadcast';        //payload內容        $data['payload']['display_type'] = 'notification'; //通知消息        //payload body內容        $data['payload']['body']['after_open'] = "go_custom"; //后續操作打開app        $data['payload']['body']['ticker'] = $info['ticker'];        $data['payload']['body']['title'] = $info['title'];        $data['payload']['body']['text'] = $info['title']; //廣播通知不能為空補填        $data['payload']['extra']['type'] = $info['type'];  //附加字段類型1 跳轉消息詳情        $data['payload']['extra']['prod_id'] = $info['prod_id'];  //附加字段消息詳情id        $data['payload']['extra']['text'] = $info['text']; //        $data['production_mode'] = $info['production_mode'];        $data['description'] = $this->description;        return $this->send($data, $this->host, $this->appMasterSecret);    }    /**     * @param $info     * @param $device_token     * @return mixed|string     * 單播 和 列播     */    public function Ios_Device_Push($info, $device_token)    {        $data = array();        $data['appkey'] = $this->app_key;        $data['timestamp'] = time(); //時間戳        if(is_array($device_token)){            //批量用戶列播            $data['type'] = 'listcast';            $data['device_tokens'] =  implode(',',$device_token); //數組轉字符串        }else{            //一個用戶單播            $data['type'] = 'unicast';            $data['device_tokens'] =  $device_token;        }        //payload內容        $data['payload']['aps']['alert'] = $info['text']; //消息主體        $data['payload']['aps']['sound'] = 'default'; //聲音        $data['payload']['type'] = $info['type']; //消息類型 0打開消息詳情        $data['payload']['prod_id'] = $info['prod_id']; //消息id        $data['payload']['title'] = $info['title'];        $data['payload']['text'] = $info['text']; //        $data['production_mode'] = $info['production_mode'];        $data['description'] = $this->description;        return $this->send($data, $this->host, $this->appMasterSecret);    }    public function Ios_Broadcast($info)    {        $data = array();        $data['appkey'] = $this->app_key;        $data['timestamp'] = time(); //時間戳        //廣播消息        $data['type'] = 'broadcast';        //payload內容        $data['payload']['aps']['alert'] = $info['title']; //消息主體        $data['payload']['aps']['sound'] = 'chime'; //聲音        $data['payload']['aps']['badge'] = 1; //顯示角標        $data['payload']['type'] = $info['type']; //消息類型 0打開消息詳情        $data['payload']['prod_id'] = $info['prod_id']; //消息id        $data['payload']['title'] = $info['title'];        $data['payload']['text'] = $info['ticker']; //        $data['production_mode'] = $info['production_mode'];        $data['description'] = $this->description;        return $this->send($data, $this->host, $this->appMasterSecret);    }    /**     * @param $data     * @param $url_s     * @param $appMasterSecret     * @return mixed|string     * curl 請求     */    private function send($data, $url_s, $appMasterSecret)    {        $postBody = json_encode($data);        //加密        $sign = md5("POST" . $url_s . $postBody . $appMasterSecret);        $url = $url_s . "?sign=" . $sign;        $ch = curl_init($url);        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);        curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);        curl_setopt($ch, CURLOPT_POST, 1);        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);        curl_setopt($ch, CURLOPT_TIMEOUT, 5);        curl_setopt($ch, CURLOPT_POSTFIELDS, $postBody );        $result = curl_exec($ch);        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);        $curlErrNo = curl_errno($ch);        $curlErr = curl_error($ch);        curl_close($ch);        // print_r($result);        // exit;        if ($httpCode == "0") {            // Time out            return ("Curl error number:" . $curlErrNo . " , Curl error details:" . $curlErr . "/r/n");        } else if ($httpCode != "200") {            return ("Http code:" . $httpCode .  " details:" . $result . "/r/n");        } else {            return $result;        }    }}?>
 <?php    //使用類    $options['app_key'] = ''; //友盟key;    $options['appMasterSecret'] = ''; //友盟MasterSecret    $this->umeng = new AlliesClass($options);    $info['ticker'] = '';    $info['title'] ='';    $info['title'] =''; //廣播通知不能為空補填    $info['type'] = 4;  //附加字段類型1 跳轉消息詳情    $info['text'] = '提醒'; //    $info['production_mode'] = 'false';    $value=$this->umeng->Android_Device_Push($info, $token);  //單播傳入數據和用戶token    $value=$this->umeng->Android_Broadcast($info);  //廣播直接傳入數據?>

以上就是本篇文章的全部內容了,感謝大家閱讀。更多請關注PHP !

相關推薦:

PHP房貸計算

PHP篩選法求素數

以上就是PHP 友盟消息推送類的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 招远市| 东乌珠穆沁旗| 紫金县| 措美县| 康马县| 确山县| 孟津县| 航空| 平顶山市| 武鸣县| 绍兴县| 浮山县| 霸州市| 周宁县| 镇平县| 通许县| 肇源县| 富蕴县| 西盟| 西畴县| 新丰县| 左云县| 镇原县| 台前县| 寿光市| 普安县| 岚皋县| 石楼县| 东辽县| 通州市| 云梦县| 郯城县| 留坝县| 天峻县| 永定县| 澄城县| 正镶白旗| 治县。| 衡山县| 蒙阴县| 长岛县|