MTL 阿里推送使用手册

一、简介

阿里移动推送(Alibaba Cloud Mobile Push)是基于大数据的移动智能推送服务,帮助App快速集成移动推送的功能,在实现高效、精确、实时的移动推送的同时,极大地降低了开发成本。
基于上述优点,MTL将阿里移动推送封装成了MTL插件,以方便广大MTL开发者使用。

二、集成准备
打开阿里云移动研发平台EMAS控制台,进行后面的操作。

2.1 创建产品

移动服务当前创建应用,需要两步:
(1).添加产品(产品是一个集合的概念,产品下包含iOS应用、Android应用);
(2).点击页面中的“新建产品”按钮,即可创建一个新的产品,如图所示:

image.png

(3).输入产品的基本信息创建App时需要输入产品的名称,上传产品图标,选择产品分类。
(4).App创建成功后,产品列表会多出一个产品,之后创建应用。

2.2 创建应用

(1).在产品列表页面,点击已经创建的产品按钮,进入产品管理页面。
(2).在产品管理页面,点击添加应用图标,创建应用(Android和iOS需要分别创建)。
image.png
(3).填写相关信息,安卓的包名,iOS的bundleId。
(4).如果是iOS应用,需要配置推送证书,点击配置图标:
image.png
(5).上传iOS推送证书。iOS推送证书制作教程
image.png
(5).至此,应用创建完成,在后续使用MTL插件时,需要用到此处创建应用的AppKey和AppSecret。

三、开始使用

3.1 添加阿里推送插件

(1).在工程根目录下(即project.json所在目录),使用mtl命令(mtl add-plugin)添加推送插件,如图所示:image.png
上下选择需要添加的插件,然后按"空格"选定,插件列表前方的○变为绿色即为选择状态,可多选。

(2).修改project.json文件,添加在2.2节申请的appKey和appSecret,安卓需要额外添加channelId,如图所示:image.png channelId为通知渠道的id,在Android8.0及以上需要配置,否则通知栏将不显示收到的通知消息。使用阿里云控制台推送通知时,需要设置 “高级设置”,在最下面的 “Android8.0 特殊配置:” ,填写 “通知通道:”,也就是上述客户端注册的channelId。利用OpenApi推送时,服务端需指定其channelId。
更多关于channelId请参考这篇文章

3.2 添加推送关键代码

阿里推送平台提供消息和通知两种推送服务:
通知:会自动在手机端弹窗,用户可以执行打开或者清除通知的操作。
消息:发送后不会在系统通知栏弹窗 ,需要自定义—> 样式和打开方式。
查看消息和通知的区别
基于阿里推送平台的特点,MTL提供了两个方法分别获取消息和通知的内容。

(1).引入mtl.ali-push.js(路径根据自己工程目录而定),代码如下:

<script src="../refs/mtl/mtl.ali-push.js"></script>

(2).注册推送通知监听,通过mtl.aliPush.receivePush()方法,开发者可以注册一个推送通知的监听,当用户点击通知栏中的推送通知,会打开app,通知内容可以在监听方法中拿到,开发者可以根据通知内容进行逻辑处理。

mtl.aliPush.receivePush({
        success: function (res) {
            alert(JSON.stringify(res));
        }
});

(3).获取消息数据,通过mtl.aliPush.getOffLinePush()方法,开发者可以获取当前设备收到的消息。

mtl.aliPush.getOffLinePush({
        success: function (res) {
            alert(JSON.stringify(res));
        }
});

(4).获取当前设备deviceid,在控制台或使用OpenApi推送时,可以指定终端进行推送,开发者可通过mtl.aliPush.getDeviceId方法获取到设备唯一标识。

mtl.aliPush.getDeviceId({
  success: function (res) {
      var deviceId = res.deviceId;
  }
});

四、控制台推送消息&通知至客户端

(1).通知,如图所示:
image.png
(2).消息,如图所示:
image.png
如果是开发自己的服务器发送通知&消息,请参考相关API

五、要求

ios 推送需要ios10.0及以上系统。