消息服务支持移动推送

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 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();
} 

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

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
4月前
|
机器人 API
钉钉机器人的运行和消息接收是通过Webhook和Stream两种方式实现的
钉钉机器人的运行和消息接收是通过Webhook和Stream两种方式实现的
263 5
|
14天前
使用阿里云语音通知http批量推送模式获取用户回执短信内容
本文使用阿里云语音通知配置http批量推送模式获取用户回执信息,并进行测试
38 0
|
3月前
|
移动开发 小程序 Go
【社区每周】小程序消息订阅插件升级为消息订阅接口(2022年8月第五期)
【社区每周】小程序消息订阅插件升级为消息订阅接口(2022年8月第五期)
21 0
|
4月前
|
开发者
配置事件订阅以获取钉钉推送的事件
配置事件订阅以获取钉钉推送的事件
62 4
|
消息中间件 存储 算法
RocketMQ 消息集成:多类型业务消息——定时消息
本篇将继续业务消息集成的场景,从使用场景、应用案例、功能原理以及最佳实践等角度介绍 RocketMQ 的定时消息功能。
431 0
RocketMQ  消息集成:多类型业务消息——定时消息
|
消息中间件 存储 运维
RocketMQ 消息集成:多类型业务消息-普通消息
本篇将从业务集成场景的诉求开始,介绍 RocketMQ 作为业务消息集成方案的核心能力和优势,通过功能场景、应用案例以及最佳实践等角度介绍 RocketMQ 普通消息类型的使用。
227 0
RocketMQ  消息集成:多类型业务消息-普通消息
EMQ
|
消息中间件 传感器 存储
MQTT 发布/订阅模式介绍
MQTT发布/订阅模式区别于传统的客户端/服务器模式,它使发布者与订阅者分离,发布者与订阅者不需要建立直接联系。
EMQ
924 0
MQTT 发布/订阅模式介绍
|
消息中间件 存储 算法
多类型业务消息专题-定时消息| 学习笔记
快速学习多类型业务消息专题-定时消息
139 0
多类型业务消息专题-定时消息| 学习笔记
|
消息中间件 存储 RocketMQ
消息达到后实时推送机制|学习笔记
快速学习消息达到后实时推送机制
83 0
消息达到后实时推送机制|学习笔记
|
消息中间件 运维 监控
多类型业务消息专题-普通消息 | 学习笔记(一)
快速学习多类型业务消息专题-普通消息
140 0
 多类型业务消息专题-普通消息 | 学习笔记(一)