前言
Superapp 通过为小程序开发者提供订阅消息能力,以便实现小程序或小游戏内的服务闭环,通过消息订阅和通知的能力,可将小程序或小游戏内的业务状态变化及时推送给 superapp 用户。
角色和权限
|
消息模板列表-查看 | ✓ | ✓ | ✓ | ✓ |
新建消息模板 | ✓ | ✓ | - | - |
编辑消息模板多语言内容 | ✓ | ✓ | - | - |
消息模板灰度发布 | ✓ | ✓ | - | - |
删除消息模板 | ✓ | ✓ | - | - |
关键词列表-查看 | ✓ | ✓ | ✓ | ✓ |
功能说明
1. 模板列表
说明
为了方便 Superapp 使用,SAS 提供了一次性订阅和长期订阅消息模板,每个小程序、小游戏都可以直接使用这些公共模板,您也可以为 Superapp 下的小程序、小游戏定制消息模板。
筛选条件
适用范围:小程序/小游戏,因小程序和小游戏的通知场景和频率不同,每个模板都在设计的时候要考虑适用于小程序或者是小游戏。
类型:
一次性订阅:一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题,每次触发订阅事件后,只允许向用户推送 1 次订阅消息。
长期订阅:通常情况下,一次性订阅消息已经可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用户订阅一次后,开发者可长期下发多条消息。长期性订阅消息适用于政务、民生、医疗、交通、金融、教育等线下公共服务。
状态:
草稿:编辑时暂时保存内容。
灰度:指定小程序团队进行灰度发布。
发布:正式发布的模板。
注意:
使用长期订阅消息可以多次给用户发送消息,但是频繁发送消息可能会对用户造成困扰,因此,SAS 限制了每个长期订阅模板消息每日最多推送 5 次。
2. 自定义订阅消息模板
如果您觉得默认的模板不满足 Superapp 的业务需求,您可以选择自定义订阅消息模板。
2.1 创建模板
单击 创建模板。
填写内容:
基本信息
适用范围:选择小程序或小游戏。
消息类型:一次性订阅/长期订阅,小游戏不支持长期订阅。
支持语言:根据应用启用的语言列表选择该模板需要覆盖的语言,至少需配置默认语言下的内容。
模板标题:支持64个以内的英文字母、数字、空格和部分特殊字符(, . - _)。
关键词:关键词是消息模板中预定义的、可替换的变量。关键词1必填,单击新增关键词后,往下顺延添加关键词2,删除关键词时,可任意删除某一个关键词,删除后会重新排序(序号大的递补上去),剩下一个关键词时不能删除。其他必填信息如下:
关键词名称:输入关键词名称,支持64个以内的英文、数字或空格。
关键词类型:关键词的数据校验格式,此处选择1个关键词类型。
预览数据:用于向开发者展示该参数应该填写的示例内容。
填写完毕后,单击保存,将模板保存为草稿状态。
2.2 消息模板多语言
为支持 Superapp 在多个国家/语言区域使用同一套订阅消息模板,消息模板的标题与关键词均支持多语言配置。控制台会按当前应用启用的语言列表,让您在同一个模板内为不同语言分别填写标题、关键词名称与预览数据,下发消息时由 SDK 根据用户当前语言自动选择对应文案,未匹配到时回退到默认语言。
多语言基础概念
支持语言(SupportLang):当前应用启用的语言集合,由「应用国际化设置」决定,模板创建/编辑页只能在该集合内为模板补充语言内容;保存时控制台会基于实际填写情况,把所有"已填写内容"的语言代码合并去重,作为模板的 SupportLang 下发。
默认语言(DefaultLang):每个模板只有1个默认语言,用于:
列表与详情页展示:模板列表的模板标题、关键词列默认按模板的默认语言渲染。
兜底显示:客户端在用户当前语言无对应文案时,回退使用默认语言的标题与关键词。
必填基线:默认语言下的标题与所有关键词名称、预览数据均为必填;其他语言为可选翻译。
语言代码:所有语言均使用标准 BCP-47 语言代码作为主键,例如 en-US、zh-CN、zh-Hant、fr-FR、ar-SA、id-ID、vi-VN 等,与接口字段 Lang 对应;不同语言数据通过 TemplateTitleMap、KeywordMap、DefaultValueMap 等以语言代码为 key 的映射结构存储。
多语言编辑界面
创建/编辑消息模板时,页面分为"基本信息 + 多语言内容编辑区 + 右侧预览面板"三部分:
基本信息
默认语言:通过下拉选择(仅在创建或编辑模式下可改),切换默认语言会保留新默认语言的内容(若已填)或回退使用旧默认语言的内容,其它非默认语言的已填内容会被清空,并自动把"当前编辑语言"切换为新的默认语言。
多语言内容编辑区
顶部标签栏(LangTabBar):列出该应用启用的所有语言;默认语言带"默认"标识;已完整翻译的语言(标题与所有关键词均已填写)会展示"已翻译"状态;当前编辑的语言高亮显示。
切换 Tab 即切换"当前编辑语言",标题与关键词输入框会自动切换为对应语言下的值;未填写时输入框 placeholder 会显示"请输入<语言名>标题",提示填写目标语言文案。
复制原文:在非默认语言 Tab 下,若默认语言已填写标题或关键词名称,输入框右侧会显示原文:xxx与复制原文按钮,单击可一键将默认语言内容复制到当前语言,便于做翻译润色。
关键词增删:仅允许在默认语言 Tab 下新增或删除关键词;切换到其他语言 Tab 时,操作区会出现提示新增/删除关键词请切换到默认语言操作。可保证不同语言下的关键词数量与顺序严格一致,最多支持20个关键词。
右侧预览面板
实时按"当前编辑语言"渲染消息卡片预览,包括 Superapp 名称/图标、消息标题、各关键词名称与预览数据。
提供语言切换,预览语言与编辑语言联动。
多语言填写规则与校验
默认语言必填:默认语言下的「消息标题 + 所有关键词名称 + 所有关键词预览数据」都必须填写完整,否则保存时会失败并提示<语言名> 语言未填写完整。
非默认语言"全有或全无":非默认语言为可选翻译,但一旦在该语言下填写了任意内容(标题或任一关键词名称),则要求:
标题、所有关键词名称、所有关键词预览数据都必须填全;
否则保存时同样提示<语言名> 语言未填写完整。
跨语言完整性校验:保存时会遍历所有非当前编辑的语言做完整性检查,避免"切到其他 Tab 填一半就保存"导致脏数据。
字符规则:消息标题长度2 – 64个字符,不支持表情、换行符、控制字符以及单/双引号('、");具体格式约束以接口返回的 TitleRegex / KeywordRegex 为准,不同语言的 placeholder 与正则可分别定义(详见 TmplSupportLanguage 接口)。
多语言数据落地
保存(CreateTmpl / ModifyTmpl):控制台会以 TemplateTitleMap、KeywordMap、DefaultValueMap 形式按语言提交各自的标题、关键词名称与预览数据,并基于实际填写自动汇总 SupportLang 字段;DefaultLang 单独透传,便于后续识别默认兜底语言。
列表展示(ListTmpl / Template.tsx):模板列表的「模板标题」「关键词」列直接读取 TemplateTitleMap[DefaultLang] 与各关键词的 KeywordMap[DefaultLang],未配置时降级到原始字段。
详情/查看(DescribeMNPSubscribeTemplate):详情页"基本信息"区会展示默认语言名称,并以"语言覆盖"徽标列出该模板已配置内容的全部语言;详情模式下的 Tab 仅展示已覆盖的语言,其它语言不显示。
客户端取值:SDK 下发消息时,按用户当前语言匹配 TitleList / KeywordList[*].KeywordList,未匹配则回退到 DefaultLang 对应文案。
说明:
模板可配置的语言集合由所属应用的「支持语言」决定,若需要新增语言,请先在应用国际化设置中开启对应语言。
关键词的类型和预览数据也需按语言分别填写:类型选择全语言一致,但每种语言下的预览数据可以不同,便于本地化展示。
默认语言一经发布请慎重修改,切换默认语言会清空非新默认语言的所有翻译,需重新补充。
2.3 灰度发布
添加完模板之后,为了验证消息模板的业务效果,您可以选择将模板进行灰度发布,选择一个或多个小程序团队进行灰度发布,由该小程序团队来使用该消息模板完成验证。
2.4 发布
灰度发布之后,单击发布,即可将该模板正式发布出去,让 Superapp 下所有的小程序、小游戏都可以使用。
2.5 删除
处于草稿或灰度状态下的模板,可以再次编辑,也可以删除。
3. 订阅消息模板详情
单击详情可以查看订阅消息模板的详细内容。
4. 关键词类型
关键词是消息模板中预定义的、可替换的变量。当小程序需要向用户发送一条具体的订阅消息时,会将具体的内容填充到这些关键词中,从而形成一条完整的、个性化的消息。
格式:
在模板中,关键词通常以 {{thing.DATA}}这样的形式出现,其中 thing 是关键词的名称,.DATA 是固定后缀。
示例:
假设你有一个订单发货的提醒模板,它可能包含以下几个关键词:
{{thing1.DATA}}-> 用于填充商品名称
{{character_string2.DATA}}-> 用于填充订单号
{{time3.DATA}}-> 用于填充发货时间
{{thing4.DATA}}-> 用于填充物流公司
关键词类型定义了对应关键词可以接受的内容格式、长度限制和展示方式,这是为了保证消息在不同设备上显示的一致性。