Чем отличаются onTokenRefresh от getToken в push-уведомлениях с помощью firebase? - PullRequest
0 голосов
/ 06 сентября 2018

Я новичок в Firebase и Resact-native, поэтому мне жаль вопросы, но я хочу знать

  1. В чем разница между onTokenRefresh и getToken в push-уведомлениях с помощью firebase?

  2. почему бы не использовать только с getToken?

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

    componentDidMount() {
    
    kittensApp.onReady().then(app => {
     app.messaging().getToken()
    .then(fcmToken => {
    if (fcmToken) {
        console.log('fcmtokenApp', fcmToken)
    } else {
      console.log('here 2')
     } 
      })
    
    app.messaging().onTokenRefresh(token => {
    console.log('refreshtoken', token)
      })
         })}
    
  4. Другой вопрос, если я хочу получить токен и отправить его на сервер, чтобы сохранить его в базе данных для отправки уведомления в будущем, в какой функции мне следует использовать (токен get или обновление)? и как я могу убедиться, что в случае изменения токена (путем обновления приложения или переустановки) он отправит новый токен на сервер? или есть какой-нибудь способ сохранить токен новым, не заставляя пользователя открывать приложение?

Спасибо за помощь!

1 Ответ

0 голосов
/ 06 сентября 2018
  1. onTokenRefresh запускается с последним зарегистрированным токеном при создании нового токена, но getToken предназначен для обмена сообщениями с регистрационным токеном (если вы зарегистрировали токен, вы получите console.log из оператора else
  2. при создании нового токена вы не получите правильный последний токен
  3. onTokenRefresh дает вам всегда правильный и последний токен
  4. Как для getToken (если вы не зарегистрировали токен и не получили его), так и для обновления (если он был изменен), вы должны сравнить его на своем сервере, если полученный токен совпадает с базой данных и приложением. Хорошим вариантом является также сохранение пользовательских данных, например, в хранилище резервов с вашего сервера, и, если обновление Firebase дает вам другой токен, сделайте запрос с этим новым, если не сделаете ничего, потому что это правильно.

Надеюсь, это поможет.

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