搜索
系统检测到您的用户名不符合规范:

极光推送代码

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

if ($tmp) {
$result[$key] = $tmp;
}
}
}
if ($result) {
return $result;
} else {
$this->error = '推送失败';
return false;
}
} else {
$this->error = '该用户无可推送设备';
return false;
}
} else {
$this->error = '插件关闭';
return false;
}
}
}
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
opencmf2
积分:252 等级:LV1
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /