我在这里尝试做的是当特定用户是新添加的DynamoDB项目的一部分时,通过SNS和APNS发送通知。我想将其发送给用户Cognito Identity ID,而不是设备令牌。
因此,在添加项目时应触发Lambda,然后浏览Cognito Identity ID列表,该列表也是项目的一部分。
然后Lambda应该将推送通知发布到每个Cognito Identity ID。
所有设备都在sns中注册为端点。我还将Cognito Identity ID保留在端点的“用户数据”行中。
但我没有找到直接向Cognito身份证发送通知的方法。我是否必须为每个用户添加主题并将通知发送到该主题?或者我是否必须存储另一个DynamoDB表以将Cognito Identity ID映射到设备令牌?如果有人知道一种更容易且不太昂贵的方式,那就太棒了!
谢谢!
答案 0 :(得分:7)
如果您要通过SNS向APNS或GCM发送推送通知,则首先需要为注册推送通知的每个设备令牌创建SNS平台端点。拥有SNS端点后,您需要使用用户表或其他映射表中的Cognito Identity ID映射该端点。
当新项目添加到DynamoDB时,事件处理程序(Lambda)将需要将传入的Cognito Identity ID映射到用户表中的SNS平台端点,然后它可以将发布直接发布到该端点。
您无需创建SNS主题即可将Push发送到各个端点。