Firebase Cloud Messaging: лучшая практика

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

  • Каков наилучший способ сделать это?
  • Могу ли я заставить приложение обновить токен?
  • Или мне нужно обновить владельца токена в моей базе самостоятельно?

Внутри приложения Вы должны обновить токен идентификатора экземпляра и забыть о старом, если вы не хотите получать уведомления, отправленные на старый токен. При каждом выходе из системы и входе в систему просто введите новый идентификатор экземпляра и обновите свою внешнюю базу данных (в случае необходимости ее логики приложения) с информацией о том, что новый токен назначен этому пользователю 🙂 Нет никаких ограничений для создания новых токенов, и вы не можете повторно использовать один раз жетоны.

Обновление токена – это просто вызов getToken ().

Это лучший подход, потому что InstanceID фактически назначается «экземпляру приложения», поэтому в случае переустановки приложения на устройство или удаления кеша пользователем. В любом случае вам придется получать новый токен.

В одном из приложений, которые я разработал, я обработал его в облаке приложений.

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

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

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