【 IM 服务】配置和使用消息推送模板

融云推送模板功能支持设置多语言推送和小米应用包名推送设置功能:

  • 多语言推送:服务端会根据 App 用户通过客户端 SDK 上报的推送语言,从指定推送模板中匹配对应语言的推送内容进行远程推送。

  • 应用包名推送:针对小米厂商推送,支持在不同应用包名下设置渠道 ID,在群聊场景下同一群组中如存在不同应用包名下的群成员,可实现某条消息针对不同应用包名的群成员使用不同的小米渠道 ID 进行推送。

  • 客户端 SDK 从 5.0.0 版本开始,支持在发消息时指定使用一个推送模板。
  • App 用户需要通过客户端 SDK 设置接收推送的语言,否则服务端会默认使用 App Key 级别的 Push 语言设置为其匹配推送文案。

一、多语言推送模板

创建多语言推送模板

在使用推送模板功能前,必须在融云开发者后台创建多语言推送模板。

  1. 访问控制台 自定义推送文案 页面,创建推送模板,最多可创建 100 个。

  • 推送模板 ID:推送模板的唯一标识。发送消息时,若使用该推送模板,需填入此模板 ID。
  • 推送模板名称:设置推送模板的名称。
  • 推送内容设置:每个推送模板中支持设置多个语言的推送内容,每种语言对应一条推送标题和一条推送内容。
  1. 添加推送内容。您可以按语言标识逐个设置对应的推送标题与推送内容。例如,模板 asia 中可同时添加 zh_CN、zh_TW、zh_HK、ja_JP、ko_KR 等多种语言的对应文案。

  • 语言标识:从下拉菜单中选择一个语言标识,如 en_US,以添加与该语言匹配的文案。
  • 推送标题:设置对应语言的通知栏标题。可选参数,默认单聊为用户名,群聊、超级群为群名称。请注意发消息时指定的推送标题会覆盖模板中的标题,导致推送模板中设置的标题不生效。
  • 推送内容:设置对应语言的通知栏显示内容。请注意发消息时指定的推送内容会覆盖模板中的内容,导致推送模板中设置的内容不生效。

设置模板后 15 分钟生效。

使用自定义推送模板

客户端 SDK 支持在发送消息时,在消息推送属性配置 MessagePushConfig 中传入模版 ID(templateId),为消息启用指定的多语言推送模板。设置后,如该消息触发推送,服务端会根据指定推送模板中的多语言语言内容进行推送。

如果接收方客户端设置了推送语言,服务端将从推送模板中匹配用户上报的推送语言进行远程推送。如果用户未设置,或无法匹配用户推送语言,服务端根据 App 在融云服务端的默认推送语言内容进行推送。

客户端 SDK 在设置接收推送的语言时,语言标识需要开发者后台的语言标识一致,才能匹配成功。例如,客户端设置推送语言为美式英语 en-US,而推送模板中美式英语的表示法为 en_US,则无法成功匹配。

  • 关于如何指定推送模版 ID(templateId),详见各个客户端 SDK 文档,以下列出部分平台 5.X SDK 的对应文档:

    注意,如需使用推送模板功能,请将消息推送属性中推送标题与推送内容留空。

  • 关于客户端如何设置接收推送的语言,详见各个客户端 SDK 文档,以下列出部分平台对应文档:

    您还可以通过 App Key 级别配置修改在融云的默认推送语言配置。如有需要,请提交工单申请更改 App Key 级别的 Push 语言

二、应用包名推送

因小米推送的渠道 ID 需要向小米申请,开发者不能自定义。所以,在群聊场景下同一群组中如存在不同应用包名下的群成员时,可能会存在某条消息需要使用的渠道 ID 对群成员进行推送:

  • 例:A、B、C 为同一 AppKey 不同应用包名下的用户,但加入了同一群组,群组中存在 IM 即时通讯消息和音视频通知类型的消息,针对同一类型消息向小米申请的不同应用包名下的渠道 ID 不同,可使用推送模板功能分别设置包名下的渠道 ID,在发送群消息时设置对应模板 ID 进行发送。

添加模板时“模板类型”选择“应用包名推送”:

点击“添加模板内容”,设置不同应用包名使用的渠道 ID:

设置模板后 15 分钟生效。