首页 > php教程 > php手册 > 正文

极光推送代码

WBOY
发布: 2016-06-07 11:34:13
原创
1541 人浏览过

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元

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!