ここでは、特定のユーザーが新しく追加されたDynamoDBアイテムの一部である場合にSNSおよびAPNS経由で通知を送信します。デバイスのトークンではなく、ユーザーのCognito IDに送信します。AWS SNS Cognito Identity IDを使用して特定のユーザーに公開
したがって、アイテムが追加されるとLambdaがトリガーされ、アイテムの一部でもあるCognito IDのリストが表示されます。
次に、ラムダはプッシュ通知を各Cognito IDに公開することになっています。
すべてのデバイスは、sns内にエンドポイントとして登録されています。また、エンドポイントの「ユーザーデータ」行にCognito IDを保持します。
しかし、Cognito Identity IDに直接通知を送信する方法が見つかりませんでした。各ユーザーのトピックを追加して、そのトピックに通知を送信する必要がありますか?または、Cognito Identity IDをデバイストークンにマッピングするために別のDynamoDBテーブルを保存する必要がありますか?誰かがもっと簡単で、あまりにも高価ではない方法を知っていれば素晴らしいだろう!
ありがとうございました!
ありがとうございました!それはまさに私が知る必要があったものです!私はちょっと、特定のエンドポイントの「ユーザーデータ」列に格納されている値でエンドポイントにアクセスすることができると考えていました。私はちょうど私のユーザーテーブル内のすべてのユーザーのリストにエンドポイントarnsを格納することを知っています。 – weka1
モバイルアプリでもこの機能が必要です。新しいファイルがS3にアップロードされるたびに、ラムダ関数がトリガーされるようにセットアップしました。私は特定の方法でファイル名を構造化し、 "fromuser"と "touser"のような情報を "fromuser_touser.txt"のように含むようにしました。しかし、私は、ユーザープロフィールの一部として属性ストアを返すCognito APIを見つけることはできません。 (私は属性としてエンドポインタンを保存することを考えています)。そのようなAPIがあるかどうか知っていますか? – user30646