利用MUI+个推实现APP消息推送

本文介绍了如何使用MUI结合个推服务实现APP的消息推送功能。赞赏了个推技术客服的服务态度,并详细解析了在iOS和Android平台上消息推送的不同触发机制。提供了基于ThinkPHP3.2.3的实例代码,包括receive和click两种监听事件的说明。
摘要由CSDN通过智能技术生成

利用MUI+个推实现APP消息推送

从2015年7月开始使用MUI进行APP的开发,到现在已经有一个年头了。而以前做过的东西都没有整理过,以后会将自己遇到的坑整理下来。
这篇主要是讲利用MUI和集成的个推来实现APP的消息推送功能。
首先我得先赞一下个推的技术客服人员的服务态度真的好。遇到问题去找他们,直接将我拉到了一个讨论组,瞬间八个程序猿来帮你。这波我服。
Dcloud上关于个推的配置使用指南在此我是链接


MUI里对于接收push有两种监听事件
1、receive
2、click
下面分别介绍这两种监听的触发机制
对于IOS来说:当应用在线时,直接触发receive事件 。
当应用不在线时,是从苹果的APS发消息给终端,终端接收到消息会进入消息中心,点击该消息打开应用触发click事件。
对于Android来说:
首先android可以接收的消息类型很多,以下例子是就透传消息来说
android在接收透传消息时
1、如果该消息符合透传消息的格式 ([‘title’ => “通知标题”,’content’ => “通知内容” , ‘payload’ => “通知去干嘛这里可以自定义”]),无论应用是否在线,都会进入消息中心,点击该消息打开应用并触发click事件。
2、如果该消息不符合透传消息的格式,如果应用在线,会直接触发receive事件,如果应用不在线,则既不会在消息中心展示,也不会触发任何事件。


以下就是本人结合个推的API和项目中的实例来封装的一个类
项目是基于ThinkPHP3.2.3

<?php
namespace Common\Lib;
class IGeTui {
    
    private $host;
    private $appKey;
    private $appId;
    private $masterSecret;
    private $cid;//客户端标识
    private $deviceToken;
    private $igt;

    /**
     * 写在前面的话:
     * IOS建议使用透传消息模板来推送消息
     * android可以使用点击通知打开应用模板和透传消息模板
     * */

    public function __construct(){
    
        //导入个推的SDK文件
        vendor("IGeTui.IGt#Push");
        vendor("IGeTui.igetui.utils.AppConditions");

        //赋值
        $this -> host = 'http://sdk.open.api.igexin.com/apiex.htm';
        $this -> appKey = '';
        $this -> appId = '';
        $this -> masterSecret = '';
        $this -> cid = '';
        $this -> deviceToken = '';
        $this -> igt = new \IGeTui($this -> host , $this -> appKey , $this -> masterSecret);
    }

    /**
     * 2016-7-29
     * 推送给所有APP的用户(官方给的demo)
     * (这个没什么用,因为要分IOS和Android客户端推送的话,建议使用pushIGtMsgL())
     * */
    function pushMessageToApp(){
    
        $template = $this -> IGtNotificationTemplateDemo();
        //基于应用消息体
        $message = new \IGtAppMessage();
        $message -> set_isOffline(true);
        $message -> set_offlineExpireTime(10 * 60 * 1000);//离线时间单位为毫秒,例,两个小时离线为3600*1000*2
        $message -> set_data($template);

        $appIdList=array($this -> appId);
        $message->set_appIdList($appIdList);

        $rep = $this -> igt-> pushMessageToApp($message);

        var_dump($rep);
        echo ("<br><br>");
    }

    //消息模版:
    // 1.TransmissionTemplate:透传功能模板
    // 2.LinkTemplate:通知打开链接功能模板
    // 3.NotificationTemplate:通知透传功能模板
    // 4.NotyPopLoadTemplate:通知弹框下载功能模板

    /**
     * 2016-7-29
     * 3.NotificationTemplate:通知透传功能模板
     * param1  :   ['title' => "通知标题",'content' => "通知内容" , 'payload' => "通知去干嘛这里可以自定义"]
     * */
    function IGtNotificationTemplateDemo($data){
    
        $template =  new \IGtNotificationTemplate();
        $te
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值