You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过AWS Pinpoint单次调用发送多条个性化推送通知?

AWS Pinpoint 批量个性化推送指南

1. 接口选择:sendUsersMessages vs sendMessages

  • sendUsersMessages:专门用于批量给多个用户发送个性化消息,支持为每个用户配置自定义属性做内容替换,是你需求场景的正确选择。
  • sendMessages:仅针对单个终端用户/设备发送单条消息,不支持批量个性化内容替换,不适合你的需求。

2. 个性化消息实现逻辑

在全局消息模板中使用**{{属性名}}**作为占位符,然后在Users对象里为每个用户配置对应的属性值,Pinpoint会自动将占位符替换为该用户的专属内容。

3. 修改后的代码示例

// 全局消息模板,加入{{username}}和{{customText}}作为个性化占位符
const gcmRawContent = JSON.stringify({
  data: {
    title: '专属通知',
    message: '你好{{username}},{{customText}}',
    experienceId,
    channelId,
    body: '你的专属内容已更新',
  },
});

const messageConfiguration = {
  MessageConfiguration: {
    GCMMessage: {
      RawContent: gcmRawContent,
    },
  },
};

const sendMessagesParams = {
  ApplicationId,
  SendUsersMessageRequest: {
    // 为每个用户配置专属属性,对应模板中的占位符
    Users: {
      'userId1': { 
        Attributes: { 
          username: '张三',
          customText: '你的订单已发货,预计明天送达'
        } 
      },
      'userId2': { 
        Attributes: { 
          username: '李四',
          customText: '你的专属优惠券即将过期,请尽快使用'
        } 
      }
    },
    ...messageConfiguration,
  },
};

const pinpoint = new AWS.Pinpoint();
await pinpoint.sendUsersMessages(sendMessagesParams).promise();

关键注意点

  • 占位符名称必须和Attributes中的键完全匹配,区分大小写。
  • 也可以直接使用Pinpoint用户档案中已有的属性(如用户姓名、邮箱等),格式同样为{{属性名}}。
  • 如果某个用户未配置对应属性,Pinpoint会保留占位符原样,建议为所有用户补全必要属性。

内容的提问来源于stack exchange,提问作者Hyrial

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 02:54:22