Предположим, у вас есть Device1, который создает часть контента. Это распространяется на нескольких пользователей. Device2 получает этот контент и «любит» его.
Успение: Вы зарегистрировались для push-уведомлений на устройстве и создали конечную точку SNS на AWS. Вы сохранили ARN конечной точки в своей базе данных и связали ее с идентификатором Cognito или с идентификатором содержимого. Если ваши данные нормализованы, то обычно у вас будет конечная точка SNS, связанная с устройством.
Ваш Лямбда должен иметь доступ к этому источнику данных и искать ту конечную точку SNS для отправки push-уведомлений. Это будет зависеть от того, какое хранилище данных вы используете (RDS, DynamoDB, что-то еще). Какой доступ, и как вы его защищаете, - это целая другая тема.
С вашего Лямбда вы получаете ARN для отправки push-уведомления. Если вы передадите идентификатор содержимого из «Имени» и получите идентификатор Cognito с устройства, которое понравилось, вы можете найти необходимую информацию. Затем вы создаете полезную нагрузку SNS (я предполагаю APNS в этом примере), а затем отправляю ее в SNS.
var message = {
"default": "New Like!",
"APNS": {
"aps": {
"alert": "New Like!"
}
}
};
var deviceParams = {
Message: JSON.stringify(message),
Subject: "New Like",
TargetArn: targetArn,
MessageStructure: "json"
};
self.sns.publish(deviceParams, function (err) {
if (err) {
console.error("Error sending SNS: ", err);
}
});
Это еще не все для вас, как будто это может быть с парсером. Вам нужно много работать на AWS, но у вас есть неограниченная власть делать то, что вы хотите.
Если это слишком много, вы можете рассмотреть новую обновленную платформу Firebase от Google. Это очень похоже на парсы: https://firebase.google.com/
Надеюсь, что это поможет вам немного продвинуться вперед.
Дальнейшее чтение:
http://docs.aws.amazon.com/sns/latest/dg/mobile-push-apns.html
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/TheNotificationPayload.html
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html
Какие базы данных вы используете? Похоже, вы хотели бы инициировать эти уведомления из действия базы данных хранения сгенерированного «похожего», а не от клиента, фактически генерирующего «как». –
Мы используем mLab - формально MongoDB – JustK