Maison >php教程 >php手册 >极光推送代码

极光推送代码

WBOY
WBOYoriginal
2016-06-07 11:34:131562parcourir

ThinkPHP+Cordova+极光推送SDK+CoreThink实现非原生APP的消息推送机制,iOS需要走苹果的APNS服务,所以需要开发者账号,安卓是TCP长连接。
ThinkPHP+Cordova+极光推送SDK+CoreThink实现非原生APP的消息推送机制,iOS需要走苹果的APNS服务,所以需要开发者账号,安卓是TCP长连接。<?php <br /> // +----------------------------------------------------------------------<br> // | OpenCMF [ Simple Efficient Excellent ]<br> // +----------------------------------------------------------------------<br> // | Copyright (c) 2014 http://www.opencmf.cn All rights reserved.<br> // +----------------------------------------------------------------------<br> // | Author: jry <br> // +----------------------------------------------------------------------<br> namespace Addons\Jpush\Model;<br> use Think\Model;<br> use Home\Controller\AddonController;<br> require_once dirname(dirname(__FILE__)).'/JPush/JPush.php';<br> /**<br>  * 推送模型<br>  * @author jry <br>  */<br> class JpushModel {<br>     /**<br>      * 单个用户推送消息发送函数<br>      * @param string $push_data 推送消息结构<br>      * @return boolean<br>      * @author jry <br>      */<br>     function send($push_data) {<br>         $addon_config = \Common\Controller\Addon::getConfig('Jpush');<br>         if ($addon_config['status']) {<br>             // 获取用户对应的设备识别<br>             $push_token_list = D('User/MessagePush')->where(array('uid' => $push_data['to_uid']))->getField('token', true);<br>             if ($addon_config['production']) {<br>                 $production = true;<br>             } else {<br>                 $production = false;<br>             }<br>             if ($push_token_list) {<br>                 // 初始化<br>                 $client = new \JPush($addon_config['app_key'], $addon_config['master_secret']);<br>                 $result = null;<br>                 foreach ($push_token_list as $key => $push_token) {<br>                     if ($push_token) {<br>                         // 简单推送<br>                         $tmp = $client->push()<br>                             ->setPlatform('all')<br>                             ->addRegistrationId($push_token)<br>                             ->setNotificationAlert($push_data['title'])<br>                              ->addAndroidNotification($push_data['title'], $push_data['title'], 1, array("url" => $push_data['url']))<br>                             ->addIosNotification($push_data['title'], 'default', '+1', true, 'iOS category', array("url" => $push_data['url']))<br>                             ->setOptions($sendno = null, $time_to_live = null, $override_msg_id = null, $apns_production = $production, $big_push_duration = null)<br>                             ->send();<br> <br>                         if ($tmp) {<br>                             $result[$key] = $tmp;<br>                         }<br>                     }<br>                 }<br>                 if ($result) {<br>                     return $result;<br>                 } else {<br>                     $this->error = '推送失败';<br>                     return false;<br>                 }<br>             } else {<br>                 $this->error = '该用户无可推送设备';<br>                 return false;<br>             }<br>         } else {<br>             $this->error = '插件关闭';<br>             return false;<br>         }<br>     }<br> }极光推送代码极光推送代码极光推送代码极光推送代码极光推送代码极光推送代码极光推送代码极光推送代码

AD:真正免费,域名+虚机+企业邮箱=0元

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn