Когда и какие Старые токены FCM мне нужно удалить из моего бэкэнда? - PullRequest
0 голосов
/ 10 ноября 2019

Насколько я понимаю, Firebase Cloud Messaging на данный момент я захочу сохранить все токены FCM, которые пользователь может иметь на разных устройствах, на моем бэкэнде и отправить уведомление всем этим токенам сразу, когда яхочу уведомить этого пользователя о чем-то.

Несколько токенов

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

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

Означает ли это, что мне может понадобитьсяtarget несколько активных токенов на устройство ?

Удаление

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

Однако, что мне делатьесли пользователь выходит из моего приложения с помощью Firebase Authentication, то есть в том же приложении на том же устройстве используется другая учетная запись?
Я предполагаю, что токены, которые я отправил в свой бэкэнд для этого устройства, все еще будут активны - так что теперьэтот пользователь будет получать уведомления от другой учетной записи, поскольку эта учетная запись была ранее зарегистрирована на устройстве.
У меня есть доступ к текущему токену FCM , и я мог бы удалить его из своей серверной части перед выходом из старойпользователь, но с учетом раздела «Несколько токенов»: как мне убедиться, что я могу удалить все токены FCM старого пользователя из моего бэкэнда ?

Уникальность

Кроме того, если предположить, что старые токены просто dead для устройства (больше не будут вызывать уведомления), когдасоздаются новые, могу ли я быть уверен, что этот токен никогда не будет назначен другому устройству в будущем?

TL; DR

Как я могу убедиться, что у меня правильный FCMтокены для моего пользователя, хранящиеся в моем бэкэнде, и что более важно: как я могу гарантировать, что токены других пользователей не будут сохранены для какого-либо пользователя в моем бэкэнде ?

Я прочитал:

Однако я до сих пор не знаю, как обращаться с несколькими токенами .

1 Ответ

1 голос
/ 10 ноября 2019

Означает ли это, что мне может потребоваться нацелить несколько активных токенов на устройство?

Приложение имеет один активный токен для каждого идентификатора отправителя. Довольно редко иметь несколько идентификаторов отправителей, и вы обычно знаете, если это так. Если вы отправляете с одного сервера, обычно нет необходимости иметь несколько идентификаторов отправителей.

...