Я хочу создать приложение для Android, которое позволяет пользователю отправлять уведомления и сообщения данных другим пользователям. Я начал использовать Firebase только недавно, и Firebase Cloud Messaging по-прежнему довольно запутывает меня.
Я уже осуществил отправку сообщения на конкретное устройство с использованием идентификатора экземпляра Firebase. Тем не менее, в моем приложении пользователь может выйти из системы и войти в свою учетную запись с помощью разных устройств, так что это не совсем то, что я хочу. Я прочитал документацию, и это довольно запутанно, они упоминают отправку сообщений в группы пользователей и темы (на которые могут подписаться только приложения, а не пользователи).
Есть ли способ отправить push-уведомление непосредственно другому пользователю или группе пользователей, использующих только их UID? Если нет, есть ли другой способ реализовать это?Отправка Firebase Cloud Message с использованием UID пользователя
ответ
Хорошо, так, чтобы убедиться, это работает на нескольких устройствах, когда пользователь входит в систему, я просто заставляю устройство подписаться на тему с именем, равным UID пользователя. Теперь, если я хочу отправить уведомление пользователю, я просто отправлю сообщение FCM по теме с именем, равным UID пользователя!
Пример: Если мой UID равен «asdf», при каждом входе в систему с использованием нескольких устройств каждое из устройств автоматически подписывается на тему с именем «asdf». Итак, теперь, если я отправлю FCM с сервера по этой теме, все устройства, с которых я зарегистрирован, чтобы получить это уведомление.
Я сделал это, чтобы сохранить токен FCM в структуре устройства пользователем. Когда пользователь вводит логин, добавьте deviceData в структуру userToken. При выходе из системы пользователю необходимо очистить DeviceData. Таким образом, вы будете отправлять уведомления только зарегистрированным устройствам.
Ex (Это не похоже на мое строение, но это может помочь вам интересен, хороший способу сделать это):
-userToken -idUser1 -device -idDevice1 -fcmToken: "xxxxx" -idDevice2 -fcmToken: "YYYYY"
Надеется, что я помог вам
Эй, человек, который работал как шарм! Единственная проблема заключается в том, что когда пользователь входит в систему с нового телефона, он не видит уведомления, но я думаю, что я выясню способ обойти это, поскольку я получаю больше опыта работы с firebase. –