class GeTui

{

private $host = 'http://sdk.open.api.igexin.com/apiex.htm';

//测试

private $appkey = '';

private $appid = '';

private $mastersecret = '';

private function init($appid=null,$appkey=null,$mastersecret=null)

{

$this->appid = !empty($appid) ? $appid : "fdVf****aUq4";

$this->appkey = !empty($appkey) ? $appkey : "fdVf****RUq4";

$this->mastersecret = !empty($mastersecret) ? $mastersecret : "39pj****VtQ5";

$this->host = "http://sdk.open.api.igexin.com/apiex.htm";

}

public function __construct($appid=null,$appkey=null,$mastersecret=null)

{

$this->init($appid,$appkey,$mastersecret);

$this->__loader();

}

private function __loader()

{

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

require_once(dirname(__FILE__) . '/' . 'igetui/IGt.AppMessage.php');

require_once(dirname(__FILE__) . '/' . 'igetui/IGt.TagMessage.php');

require_once(dirname(__FILE__) . '/' . 'igetui/IGt.APNPayload.php');

require_once(dirname(__FILE__) . '/' . 'igetui/template/IGt.BaseTemplate.php');

require_once(dirname(__FILE__) . '/' . 'IGt.Batch.php');

require_once(dirname(__FILE__) . '/' . 'igetui/utils/AppConditions.php');

require_once(dirname(__FILE__) . '/' . 'igetui/template/notify/IGt.Notify.php');

require_once(dirname(__FILE__) . '/' . 'igetui/IGt.MultiMedia.php');

require_once(dirname(__FILE__) . '/' . 'payload/VOIPPayload.php');

}

//单推

function pushMessageToSingle($cid){

$igt = new \IGeTui($this->host,$this->appkey,$this->mastersecret);

// 透传消息模板

$template = $this->IGtTransmissionTemplateDemo();

//定义"SingleMessage"

$message = new \IGtSingleMessage();

$message->set_isOffline(false);//是否离线

$message->set_offlineExpireTime(3600*12*1000);//离线时间

$message->set_data($template);//设置推送消息类型

$message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,2为4G/3G/2G,1为wifi推送,0为不限制推送

//接收方

$target = new \IGtTarget();

$target->set_appId($this->appid);

$target->set_clientId($cid);

try {

$rep = $igt->pushMessageToSingle($message, $target);

var_dump($rep);

echo ("
");

}catch(RequestException $e){

$requstId =e.getRequestId();

//失败时重发

$rep = $igt->pushMessageToSingle($message, $target,$requstId);

var_dump($rep);

echo ("
");

}

}

//透传消息模板

public function IGtTransmissionTemplateDemo(){

$listId = [

'title' => '通知',

'content' => '你有一条新消息',

'payload' => [

"push"=> "inner",

"event"=> "warning",

"silent"=> false,

]

];

$mes = [

'title' => '通知',

'content' => '你有一条新消息',

'payload' => [

"push"=> "inner",

"event"=> "warning",

"silent"=> false,

"data"=> ""

]

];

$template = new \IGtTransmissionTemplate();

$template->set_appId($this -> appid);//应用appid

$template->set_appkey($this->appkey);//应用appkey

$template->set_transmissionType(1);//透传消息类型

$template->set_transmissionContent(json_encode($listId));//透传内容

//注意:如果设备离线(安卓),一定要设置厂商推送,不然接收不到推送(比如华为、小米等等)

//S.title=的值为推送消息标题,对应5+ API中PushMessage对象的title属性值;

//S.content=的值为推送消息内容,对应5+ API中PushMessage对象的content属性值;

//S.payload=的值为推送消息的数据,对应5+ API中PushMessage对象的payload属性值;

$intent = 'intent:#Intent;action=android.intent.action.oppopush;launchFlags=0x14000000;component=此处为打包APP的包名/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=标题;S.content=内容;S.payload=数据;end';

$notify = new \IGtNotify();

$notify->set_title('通知');

$notify->set_content('你有一条新消息');

$notify->set_intent($intent);

$notify->set_type(NotifyInfo_type::_intent);

$template->set3rdNotifyInfo($notify);

//下面这些是苹果需要设置的,只要是ios系统的,都要设置这个,不然离线收不到

//APN高级推送

$alertmsg=new \DictionaryAlertMsg();

$alertmsg->body=$mes['content'];

$alertmsg->actionLocKey="查看";

$alertmsg->locKey=$listId['content'];

$alertmsg->locArgs=array("locargs");

$alertmsg->launchImage="launchimage";

// IOS8.2 支持

$alertmsg->title=$mes['title'];

$alertmsg->titleLocKey="测试";

$alertmsg->titleLocArgs=array("TitleLocArg");

$apn = new \IGtAPNPayload();

$apn->alertMsg=$alertmsg;

$apn->badge=0;

$apn->sound="";

$apn->add_customMsg("payload","payload");

$apn->contentAvailable=0;

$apn->category="ACTIONABLE";

$template->set_apnInfo($apn);

return $template;

}

}

uni app对接php,thinkphp5 对接手机uni-app的unipush推送(个推)相关推荐

  1. 简单Android手机APP地图,android最简单手机地图APP(只需5分钟)

    android最简单手机地图APP--只有三部分. 第一部分 首先建立一个MapActivity在setContentView(R.layout.activity_map);中创建一个代码如下. [h ...

  2. 小车手app安卓版下载_汽车报价大全手机版app下载_汽车报价大全手机版app安卓版下载v9.6.2-游侠软件下载...

    汽车报价大全手机版app是一款购车的生活服务软件.汽车报价大全手机版app可以查看各种车辆的价格资讯,非常的实用.汽车报价大全手机版app致力为用户提供优质的生活服务. 汽车报价大全手机版app特点 ...

  3. 手机 服务器 推送消息推送消息,推送信息到手机的pushover使用方法及sample code

    今天给大家介绍一个好东西,用了两年多了,一直没时间给大家推荐.pushover,移动端的信息推送服务API,包括使用.设置以及API实现. 用途 在关键节点放上推送(比如用户注册.举报.评论,系统检测 ...

  4. App系列之Push推送---实现推送方式解决方案

    本文介绍在Android中实现推送方式的基础知识及相关解决方案.推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最新的新闻信息. ...

  5. 华为手机 APP被杀_华为手机服务APP将全新改版 三大升级体验更加出色

    华为终端客服官方发布消息称,10月19日,华为手机的服务APP将全新改版,页面大变身,风格更个性,选择更多元.本次升级改版主要集中在首页.维修.资讯三大方面,一起来看. 服务APP 首页升级部分,打开 ...

  6. php mui消息推送,个推透传消息,触发receive后创建本地推送,点击状态栏消息可以打开APP触发不了click事件...

    大佬们帮忙看看代码 //消息推送 mui.plusReady(function() { // 监听点击消息事件 plus.push.addEventListener( "click" ...

  7. 蚂蚁金服×西安银行 | 西安银行手机银行App的智能升级之路

    小蚂蚁说: 当前,数字化信号已经逐渐深入到社会的每个角落,影响着用户的心智和行为,来到数字化时代门口的银行,需要注意到数字化信号.西安银行通过引入蚂蚁金服移动开发平台mPaaS,对手机银行进行架构升级 ...

  8. 【IoT平台技术对接分享】如何上传正确的消息推送证书

    消息推送应用实现消息推送的接口,部署证书,同时上传根证书到平台. 目前消息推送失败,很大一部分原因是证书上传不对.推荐小伙伴们使用下面的方法导出证书. 推送:平台调用应用服务器的restful接口将数 ...

  9. iOS 逆向-非越狱手机Hook App

    引子 由于对iOS逆向分析很感兴趣,所以也花了很长一段时间学习了iOS逆向相关知识,并积累了一些相关经验, 这几天又到看雪论坛逛了一下,看看最近有没有什么大牛分享心得成果的!还真让我看到一篇有意思的文 ...

最新文章

  1. Confluence 6 用户目录图例 - 可读写连接 LDAP
  2. python用于什么-Python用于哪些领域
  3. docker整合hue
  4. 月入10万和月入5千的人关键区别是什么???
  5. python数据科学指南是什么_Python数据科学实践 | Spyder入门
  6. python 描述符参考文档_python 描述符详解
  7. python 项目发布会_发布会直播技术及业务实践
  8. 6.2-3 局部性+内存层次
  9. 大公司还是小公司[zz]
  10. html5获取手机屏幕大小写,html图片自适应手机屏幕大小的css写法
  11. 深度学习:摩尔纹识别(翻拍检测)
  12. php二次开发帝国,帝国CMS二次开发注意事项
  13. 2020 3月 月末总结(一个月的面试收获了什么)
  14. 润乾报表设计器——预览报表问题解决
  15. 拍照识别植物app哪个好?来看看这几个工具
  16. 如何让机器理解汉字一笔一画的奥秘?
  17. 开始Python的新手教程
  18. [当人工智能遇上安全] 5.基于机器学习算法的主机恶意代码识别研究
  19. 某喷码机品牌U盘存储的配置文件简记
  20. 读书笔记006:《伤寒论》- 足太阴脾经

热门文章

  1. python 运算符重载_一锅类似函数重载的小杂烩
  2. 数据挖掘-文本特征提取方法研究
  3. 在大项目中,实施顾问主要负责什么具体工作?
  4. 面向对象的数据库开发--再论ORM
  5. OFDM中保护间隔与循环前缀抵抗ISI…
  6. 使用计算机的好处作文,电脑的好处
  7. 前后端怎么连接_如何搭建前后端分离的测试平台
  8. python dataframe 合并乱序列表_Python数据处理--删除重复项、数值替换和表合并
  9. P4475 巧克力王国(KDTree)
  10. 各国选手Techfest备战FMB世界杯,极战远征军斩获佳绩为国争光