移动应用推送开发指南
当您开发自有品牌App的消息推送时,请按照本文指导配置移动应用服务,并开发移动应用的推送功能。
前提条件
![image.png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/7751107961/p726309.png)
背景信息
阿里云移动推送服务为Alibaba Cloud Mobile Push,在线送达率超过98%,承载了双十一超过5000条/秒的消息推送峰值(具体介绍,请参见什么是移动推送)。基于阿里云移动推送服务,整合了设备管理能力,将设备的消息推送到App上。
配置移动应用推送服务
在项目主页面的左侧导航栏,选择App管理。
在App管理页面,找到已创建的目标App,单击右侧操作列的管理。
在App管理详情页面,单击功能配置。
配置iOS应用的消息推送服务。
iOS应用的推送服务没有在线推送和离线推送之分,需统一采用苹果官方提供给开发者的推送服务。具体操作步骤如下:
单击上传文件图标
,上传APNs推送证书。
输入推送证书的密码,然后单击验证证书。
只有正确配置了证书和密码,提示验证成功后,才能正常调用iOS推送服务。
单击测试推送,在弹出的输入框中填入deviceToken信息(获取deviceToken信息,请参见SDK初始化中的
didRegisterForRemoteNotificationsWithDeviceToken
方法)。单击测试,推送一条消息进行测试。
(可选)配置Android离线推送服务。
Android应用默认支持在线推送,无需额外配置。针对目前市场上的常用移动设备(华为、小米、FCM、OPPO、vivo),平台还提供了Android应用离线推送能力。
说明以下为三方品牌消息推送逻辑的配置步骤,仅供您参考,具体操作根据三方品牌的实际情况决定。
华为
在华为开发者联盟注册App。应用审核通过后,可获取华为的AppID和AppSecret。
打开华为开发者平台push功能区的消息推送开关。
在华为开发者平台添加消息回执回调地址:https://amspush-ack.aliyuncs.com/hw/。
在Link Visual(标准版)控制台的消息推送设置页面(如上图所示),配置华为AppID和AppSecret。
重要确保您在华为控制台激活了推送通道功能,且您的App处于审核中或通过审核的状态(不能为草稿状态),否则通道不会生效。
小米
在小米开放平台注册App,获取相应的小米AppID、小米AppKey、小米AppSecret。
打开小米开发者平台push功能区的消息推送开关。
在Link Visual(标准版)控制台的消息推送设置页面,配置小米AppSecret。
FCM
Google已将GCM推送迁移至Firebase,改称FCM。
说明接入前确保手机已安装Google Play Services,否则无法注册成功(目前大部分中国手机的谷歌服务被剥离了)
在FCM推送平台中创建一个项目,并在项目下新增App。
下载对应App的
google-services.json
文件。在Firebase控制台获取服务器密钥。
在Link Visual(标准版)控制台的消息推送设置页面,设置GCM或FCM的服务器密钥。
OPPO
在OPPO市场上架应用,且应用评级为A(评级为A才能使用推送服务,具体政策可咨询OPPO客服)。
在OPPO开放平台的应用配置,注册OPPO企业开发者账号,获取相应的AppKey和MasterSecret。
在OPPO开放平台,添加应用并开通OPPO推送服务。
在Link Visual(标准版)控制台的消息推送设置页面,设置您OPPO的Appkey和AppSecret(MasterSecret)。
vivo
在VIVO开放平台注册VIVO账号及创建应用(需要使用企业开发者账号)。审核通过后,您可以获取应用的AppID、AppKey和AppSecret。
在Link Visual(标准版)控制台的消息推送设置页面,设置VIVO应用的AppID、AppKey和AppSecret。
开发应用推送
请您参照以下SDK开发移动应用推送功能。
可推送消息说明
Link Visual(标准版)提供的SDK支持推送的消息种类分为以下两类。
设备告警消息
在控制台中配置告警消息,当设备触发该消息规则时,会主动给App推送一条消息。
推送范围:该设备的所有用户,包括设备的管理者、以及设备的被分享者。
配置方式:在平台人机交互的设备告警中,配置设备告警信息。具体操作,请参见配置设备告警。
设备分享消息
当设备的管理员(即ownerName,以下示例中的甲)将设备分享给其他用户(即memberName,以下示例中的乙)时,平台会主动给App的用户推送设备分享相关的消息。
ownerName:设备拥有者别名标识(例如用户名称)。
memberName:被分享者(或非拥有者)别名标识(例如用户名称)。
设备分享相关的消息包括以下六种类型。在设备分享过程中,分别收到的消息以示例说明如下。
消息类型
设备分享的场景描述
设备拥有者向其他用户发起设备分享
甲向乙发起设备分享时,乙收到消息:ownerName+“向您共享设备”。
设备拥有者取消设备分享
甲向乙取消设备分享时,乙收到消息:ownerName+“取消了设备共享”。
被分享者接收分享消息
乙接收甲的设备分享时,甲收到消息:memberName+“添加了您的设备”。
被分享者拒绝分享消息
乙拒绝甲的设备分享时,甲收到消息:memberName+“取消了设备共享”。
设备被抢占
乙抢占了甲的设备时,甲收到消息:memberName+“抢占了您的设备”。
发起者已解绑
乙接收甲分享的设备后,甲取消设备分享时,乙收到消息:ownerName+“删除了您的设备”。
说明Android应用中,仅设备拥有者向其他用户发起设备分享,支持离线推送和在线推送,其余设备分享相关的消息都仅支持在线推送。