更新时间:2024-04-15 GMT+08:00

如何发布主题消息

在熟悉了SMN的基本概念之后,您可以通过消息通知服务的管理控制台进行基本主题订阅操作;同时您还可以直接在应用程序中进行RESTful API调用执行相应的操作。

通过主题发布消息的流程图如图1所示。
图1 发布主题消息流程

操作场景

假设某公司定期举行展览会,需要邀请相关人员,此时消息内容不变,仅需更改日期。这种场景的特性是:用户发送的通知消息中,大部分内容是固定的,只有少数内容随着每次事件指标变化而变化。针对这种需求,用户可以创建一个消息模板,在模板中,用模板变量代替变化的内容,每次通知时,选择消息模板并设置模板变量值便可完成特定的消息通知。

步骤1 创建主题

  1. 登录管理控制台。
  2. 在管理控制台左上角单击图标,选择区域和项目。
  3. 选择“应用服务” > “消息通知服务”。

    进入消息通知服务页面。

  4. 在左侧导航栏,选择“主题”。

    进入主题页面。

  5. 在主题页面,单击“创建主题”。
  6. 在“主题名称”框中,输入主题名称,在“显示名”框中输入相关描述,如表1所示。
    表1 创建主题参数说明

    参数

    说明

    主题名称

    创建的主题名称,用户可自定义名称,规范如下:

    • 只能包含字母,数字,短横线(-)和下划线(_),且必须由大写字母、小写字母或数字开头。
    • 名称长度限制在1-255字符之间。
    • 主题名称为主题的唯一标识,一旦创建后不能再修改主题名称。

    显示名

    显示名,长度限制在192字节或64个中文字。

    说明:

    推送邮件消息时,如果未设置主题的显示名,发件人呈现为“username@example.com”,如果已设置主题的显示名,发件人则呈现为“显示名<username@example.com>”。

  7. 单击“确定”,主题创建成功。

    主题创建成功后,系统会自动生成主题URN,主题URN是主题的唯一资源标识,不可修改。新创建的主题将显示在主题列表中。

  8. 单击主题名称,可查看主题详情(包含主题URN、显示名等)、主题订阅总数。

步骤2 添加订阅

  1. 登录管理控制台。
  2. 在管理控制台左上角单击图标,选择区域和项目。
  3. 选择“应用服务” > “消息通知服务”。

    进入消息通知服务页面。

  4. 在左侧导航栏,选择“订阅”。

  5. 在订阅页面。单击“添加订阅”,开始添加消息订阅。

    此时将显示“添加订阅”页面。

  6. 向指定主题添加订阅。
    1. 单击“主题名称”输入框右侧的“选择主题”,在弹出的选择主题对话框中选择主题。
    2. 在“协议”下拉框中选择订阅终端支持的协议,在“订阅终端”输入框中输入对应的订阅终端,填写说明如表2所示。
      表2 添加订阅参数说明

      参数

      说明

      主题名称

      在弹出的对话框中选择的主题的名称。

      协议

      在下拉框中选择需要订阅终端支持的协议,提供的选项为“短信”、“邮件”、“HTTP”、“HTTPS”。

      订阅终端

      订阅的终端地址,短信、邮件、HTTP以及HTTPS终端支持批量输入,批量添加时,每个终端地址占一行。最多可输入10个终端。

      • 选择“短信”终端,请输入有效手机号码。

        输入规则为[+] [国家码][手机号码]。

        例如:

        +8600000000000

        +8600000000001

      • 选择“邮件”终端,请输入有效的邮箱地址。

        例如:

        username@example.com

        username2@example.com

      • 选择“HTTP”终端,请输入公网网址。

        例如:

        http://example.com/notification/action

      • 选择“HTTPS”终端,请输入公网网址。

        例如:

        https://example.com/notification/action

  7. 单击“确定”。

    新增订阅将显示在页面下方的订阅列表中。

    • 为了防止恶意攻击订阅终端,云平台会对订阅终端进行流控保护,触发流控规则后,消息通知服务不再发送订阅确认消息,具体的保护规则请参见订阅确认流控说明
    • 消息通知服务不会校验订阅终端是否真实存在。
    • 添加订阅后,消息通知服务会向订阅终端发送订阅确认信息,信息中包含订阅确认的链接。订阅确认的链接在48小时内有效,用户需要及时在手机端、邮箱或其他协议终端确认订阅。
    • 发送请求订阅消息也会作为发送条数进行计费。

步骤3 创建模板

  1. 登录管理控制台。
  2. 在管理控制台左上角单击图标,选择区域和项目。
  3. 选择“应用服务” > “消息通知服务”。

    进入消息通知服务页面。

  4. 在左侧导航栏,选择“消息模板”。
  5. 在消息模板页面。单击“创建消息模板”,开始创建消息模板。

    此时将显示“创建消息模板”页面。

  6. 在“模板名称”框中,输入模板名称,选择所使用的“协议”,在“模板内容”框中输入模板内容,参数说明如表3所示。
    表3 创建消息模板参数说明

    参数

    说明

    模板名称

    创建的模板名称,用户可自定义名称,规范如下:

    • 只能包含字母,数字,短横线(-)和下划线(_),只能以字母或数字开头。
    • 名称长度限制在1-64字节之间。
    • 一旦创建后不能再修改。

    协议

    设置选择该模板推送消息时的接收终端类型,模板一旦选定不能再修改。

    取值范围为:Default、短信、HTTP、HTTPS、和邮件。

    协议默认为“Default”。如果用户不选择协议,则使用默认值。

    模板内容

    用户可自定义模板内容。

    请以{xxx}作为占位符创建模板。在使用该模板发送消息时,{xxx}可以被替换成具体内容。{xxx}中的xxx只能包含大写字母、小写字母、数字、-、.和_,且必须由大写字母、小写字母或数字开头,不能超过21个字符。

    模板内容具体规则如下:

    • 模板内容仅支持纯文本格式。
    • 模板内容不能为空。
    • 模板内容大小至多为256KB。
    • 模板内容中允许最多256个(计算重复的)标签,去重后不超过90个。
    • 发送消息时,每个标签允许的值大小为1KB.
    例如使用以下信息创建模板
    • 模板名称:“tem_001”
    • 协议:“Default”
    • 模板内容:“The Arts and Crafts Exposition will be held from {startdate} through {enddate}. We sincerely invite you to join us. ”
  7. 单击“确定”。

    新创建的模板会显示在页面下方模板列表中。

步骤4 发布模板消息

  1. 登录管理控制台。
  2. 在管理控制台左上角单击图标,选择区域和项目。
  3. 选择“应用服务” > “消息通知服务”。

    进入消息通知服务页面。

  4. 在左侧导航栏,选择“主题”。

    进入主题页面。

  5. 在主题列表中,选择您要向其发布消息的主题,在右侧“操作”栏单击“发布消息”。
  6. 在弹出的发布消息对话框中,主题名称为已选择的需要发布消息的主题名称,不可修改。其它参数根据界面提示填写。

    此处“消息类型”选择“模板消息”,“消息内容”可以手动输入模板消息,也可以通过工具自动生成模板格式的消息。消息内容不能为空且大小不超过256KB。

    • 手动输入模板格式的消息,模板格式规范请参见模板格式消息说明
    • 通过工具自动生成模板格式的消息,请参见步骤7~10
  7. 单击“生成模板消息”。
  8. 在弹出的对话框中选择模板“tem_001”并在“变量”页签中设置“值”。

    系统自动将设置的值替换,其他内容则与模板内容保持一致。此处选择的模板名称下只有Default协议的模板,则该主题下所有已确认的订阅终端地址均可收到该模板消息。

  9. 选择“预览”页签,预览模板消息。

    该条模板消息的消息内容为“The Arts and Crafts Exposition will be held from February 10 through February 21. We sincerely invite you to join us. ”,

  10. 单击“确定”。

    生成的消息内容显示模板名称和所有{tag}标签。

  11. 单击“确定”。

    消息将推送至不同的订阅终端。各个终端接收到的消息内容说明请参考不同协议消息说明

步骤5 接收模板消息

在订阅主题时,选择不同的订阅协议,订阅终端接收到的信息是不一样的。
  • 邮件协议

    订阅终端为邮箱。

    接收到的消息包含消息内容和取消订阅的链接。

  • HTTP/HTTPS协议

    订阅终端为公网网址。关于接收到的消息,详情请参见《消息通知服务用户指南》附录“HTTP(S)终端节点使用样例”部分。

  • 短信协议

    订阅终端为手机。

    接收到的消息只包含消息内容。