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

极光推送代码

WBOY
풀어 주다: 2016-06-07 11:34:13
원래의
1556명이 탐색했습니다.

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으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿