消息服务支持移动推送

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
文件存储 NAS,50GB 3个月
简介: MNS消息服务 MNS消息服务在功能上可以大致分为队列和主题两大块,其中队列功能是提供一对一的传统消息队列中间件服务,主题功能是提供一对多的的广播消息服务。 多样的推送方式 MNS的主题功能可以支持将一条消息以多种方式广播到用户的终端。

MNS消息服务

MNS消息服务在功能上可以大致分为队列和主题两大块,其中队列功能是提供一对一的传统消息队列中间件服务,主题功能是提供一对多的的广播消息服务。

多样的推送方式

MNS的主题功能可以支持将一条消息以多种方式广播到用户的终端。MNS的主题功能不仅支持广播到用户的HttpServer,也支持推送到用户的MNS队列里,还支持通过短信、邮件的方式做推送。现在,主题功能也支持通过移动推送直接将消息广播到用户的App终端。

未来我们也会根据广播推送的场景做更多的有机结合:比如用户可以在一条消息里同时指定推送App和推送短信分别的展示内容,然后在推送App不可达时改为推送短信;再比如比较常见的监控报警场景,一条报警消息可以被通过多种途径发出去等。

移动推送的具体使用

MNS的主题功能对移动推送的支持,是通过阿里云的RAM授权使用了阿里云的移动推送这个产品,所以用户需要先开通“移动推送”。

开通移动推送

  1. 创建App:在移动推送控制台(https://push.console.aliyun.com/ )的App列表页,点击页面右上角的“创建APP”按钮即可创建一个新的App。
    CreateApp
  2. 配置App:App创建成功后,强烈建议您去配置app。在APP详情页点击配置应用。

    • Android配置: 勾选Android,并填入PackageName,包名需要与您的代码中的applicationID保持一致。请务必确保您创建的不同应用具有不同的PackageName,阿里云移动推送Android SDK以PackageName作为路由依据,不同应用配置相同包名,可能导致消息错误发送,即与目标应用有相同包名的应用接收到推送消息。
    • iOS配置: 勾选iOS,上传证书并填写证书对应的密码,注意 开发证书和生产证书 不要弄混淆,关于证书的获取与配置,请参见 iOS 推送证书设置指南
      ConfigApp
  3. 在APP列表点击应用证书按钮即可查看该应用的Appkey和Secret。
    CheckKey
  4. 在APP列表页下载App端需要集成的SDK
    DownloadSDK
  5. 配置SDK

  6. 安装配置好的App到终端手机

MNS控制台体验流程

创建移动推送订阅
  1. 在MNS控制台创建Topic
  2. 进入Topic的"订阅详情"

  1. 创建订阅
    CreateSub

发送消息 (PublishMessage)
  1. 进入Topic列表页面
  2. 向Topic发送消息
  3. 配置移动推送消息的相关属性
    PublishPush

移动推送的具体属性可以参考 这里
ConfigPush

Java代码示例

MNS的JavaSDK在这里

try {
        String topicName = TOPICNAME;
        TopicMeta meta = new TopicMeta();
        meta.setTopicName(topicName);

        CloudTopic topic = client.createTopic(meta);
        String pushEndpoint = topic.generatePushEndpoint("XXXX");

        SubscriptionMeta subMeta = new SubscriptionMeta();
        subMeta.setSubscriptionName(SUBNAME);
        subMeta.setNotifyStrategy(SubscriptionMeta.NotifyStrategy.EXPONENTIAL_DECAY_RETRY);
        subMeta.setEndpoint(pushEndpoint);
        topic.subscribe(subMeta);

        RawTopicMessage msg = new RawTopicMessage();
        msg.setMessageBody("hello topic");

        MessageAttributes messageAttributes = new MessageAttributes();
        PushAttributes pushAttributes = new PushAttributes();
        pushAttributes.setTarget(PushAttributes.PushTarget.ALL);
        pushAttributes.setTargetValue("ALL");
        pushAttributes.setDeviceType(PushAttributes.PushDeviceType.ALL);
        pushAttributes.setTitle("JavaSDK");
        pushAttributes.setBody("Hello From JavaSDK");
        pushAttributes.setPushType(PushAttributes.PushType.MESSAGE);
        pushAttributes.setParam("AndroidOpenType", "APPLICATION");
        messageAttributes.setPushAttributes(pushAttributes);

        topic.publishMessage(msg, messageAttributes);
} catch (ServiceException se) {
        System.out.println(se.getErrorCode() + se.getRequestId());
        System.out.println(se.getMessage());
        se.printStackTrace();
} catch (Exception e) {
        e.printStackTrace();
} 

如果您在使用过程中遇到了什么问题,或者有什么想法愿意一起交流,请站内信或者工单联系我们~

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
5月前
|
存储 负载均衡 安全
中间件消息发布-订阅模式
【6月更文挑战第9天】
97 5
|
6月前
|
Windows
微信消息实现自动推送--方式一 成功啦 进来学
微信消息实现自动推送--方式一 成功啦 进来学
593 1
|
6月前
|
传感器 监控 网络协议
MQTT 发布、订阅模式介绍
【2月更文挑战第17天】
410 6
MQTT 发布、订阅模式介绍
|
6月前
|
移动开发 小程序 Go
【社区每周】小程序消息订阅插件升级为消息订阅接口(2022年8月第五期)
【社区每周】小程序消息订阅插件升级为消息订阅接口(2022年8月第五期)
39 0
|
监控 搜索推荐 定位技术
阿里云推送移动推送
阿里云推送是阿里巴巴集团旗下的一款云端消息推送服务。作为云计算领域的领军企业之一,阿里云通过推送技术为开发者和企业提供了高效、可靠的消息传递服务,帮助他们快速将消息推送给设备或用户,实现实时通知和消息交互。
|
消息中间件 传感器 存储
MQTT介绍-发布/订阅模式
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议。
5814 0
|
消息中间件 存储 算法
RocketMQ 消息集成:多类型业务消息——定时消息
本篇将继续业务消息集成的场景,从使用场景、应用案例、功能原理以及最佳实践等角度介绍 RocketMQ 的定时消息功能。
465 0
RocketMQ  消息集成:多类型业务消息——定时消息
|
消息中间件 存储 运维
RocketMQ 消息集成:多类型业务消息-普通消息
本篇将从业务集成场景的诉求开始,介绍 RocketMQ 作为业务消息集成方案的核心能力和优势,通过功能场景、应用案例以及最佳实践等角度介绍 RocketMQ 普通消息类型的使用。
281 0
RocketMQ  消息集成:多类型业务消息-普通消息
EMQ
|
消息中间件 传感器 存储
MQTT 发布/订阅模式介绍
MQTT发布/订阅模式区别于传统的客户端/服务器模式,它使发布者与订阅者分离,发布者与订阅者不需要建立直接联系。
EMQ
1059 0
MQTT 发布/订阅模式介绍
|
消息中间件 存储 RocketMQ
消息达到后实时推送机制|学习笔记
快速学习消息达到后实时推送机制
消息达到后实时推送机制|学习笔记