Избегайте отправки уведомления о пожарном депо отправителем - PullRequest
2 голосов
/ 11 апреля 2019
  1. Отправитель отправляет данные в firestore
  2. firestore сохраняет данные
  3. firestore передает данные всем подключенным клиентам (включая отправителя)

Есть ли у них способ, когда отправитель не получает уведомление?ИЛИ Если отправитель получает уведомление, есть ли способ отменить полученные данные?

1 Ответ

0 голосов
/ 12 апреля 2019

Чтобы не отправлять PUSH-уведомление самому отправителю, необходимо отследить идентификатор отправителя внутри отправленных данных.

Чтобы автоматически установить идентификатор отправителя в данные в облачной функции, вы можете взять его из контекста:

exports.myDataUpdate = (data, context) => {

  var dataToWrite = data;
  dataToWrite['senderId'] = context.auth.uid;

  // Store dataToWrite to firestore....
};

Затем в соответствующем облачном триггере (onUpdate / onCreate) вы должны найти идентификатор отправителя, который вы указали при запросе обновления.

При отправке уведомления отправляйте его только «другим» касающимся пользователей, исключая отправителя.

Это означает, что вы сами управляете жетонами уведомлений, и у вас есть структура облачного пожарного хранилища, в которой вы храните жетоны уведомлений пользователей.

При получении обновления прослушивателя вы просто сравниваете идентификатор отправителя с текущим идентификатором пользователя и удаляете обновление, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...