如何通过单次API调用向HMS项目下多个应用发送推送通知
HMS 单次API调用向同项目下多应用发送推送实现方案
你要的能力HMS Push Kit原生支持,核心是使用项目级服务端接口,而非单应用级接口,具体实现逻辑如下:
- 第一步:获取项目级鉴权凭证。前往AppGallery Connect后台的项目设置页,从「服务账号」模块获取项目对应的
client_id和client_secret,不要使用单个应用下的应用级凭证。 - 第二步:调用项目级推送接口,接口路径与单应用接口有区别,单应用接口路径为
/v1/{app_id}/messages:send,项目级接口路径为/v1/projects/{project_id}/messages:send。 - 第三步:按场景配置请求参数:
- 如果是向两个应用的指定用户推送,直接在
message节点下的token数组中填入所有目标用户的推送token即可,无需区分token所属的应用,平台会自动识别下发。 - 如果是向两个应用的全部用户发送全量推送,无需传入用户token,在请求体中增加
target_appids参数,值设置为["hmspushapp1的应用ID", "hmspushapp2的应用ID"]即可。
- 如果是向两个应用的指定用户推送,直接在
- 差异化配置说明:如果需要给不同应用设置不同的通知样式、跳转逻辑等参数,可以在配置节点下增加
app_id_filter数组,指定该配置仅对数组内的对应应用生效,实现同一次推送多应用差异化配置。
简化请求体示例
{ "validate_only": false, "target_appids": ["hmspushapp1的appid", "hmspushapp2的appid"], "message": { "notification": { "title": "推送测试标题", "body": "跨应用推送测试内容" }, "android": { "notification": { "click_action": { "type": 1, "action": "com.huawei.push.action.MY_ACTION" } } } } }
内容的提问来源于stack exchange,提问作者Zinna
相关产品推荐
相关产品推荐

