Firebase Push Notification - Как отслеживать пользовательские токены FCM? - PullRequest
0 голосов
/ 11 июня 2018

Это общий вопрос о токенах FCM.В настоящее время в моем приложении реакции-родной, как только у меня появляется новый токен, я выполняю вызов API, чтобы связать этот токен с идентификатором пользователя.И когда этот токен также обновляется, я снова выполняю тот же вызов API.

Мы используем эти токены для отправки push-уведомлений с днем ​​рождения и лайков.

Я хотел бы знать вВ случае, если пользователь не использует приложение, срок действия этого токена истекает, и у нас нет способа отследить токен.Push-уведомления о дне рождения будут по-прежнему отправляться на старый просроченный токен.Как мы можем смягчить это?Любая идея?

Я действительно ищу способ / стратегию, чтобы по-прежнему доставлять push-уведомления пользователю, даже если он некоторое время не использовал приложение?Как вы думаете, запланированные push-уведомления могут работать?

Ответы [ 3 ]

0 голосов
/ 11 июня 2018

Я хотел бы знать, что в случае, если пользователь не использует приложение, срок действия этого токена истечет, и у нас нет способа отследить токен.Push-уведомления о дне рождения будут по-прежнему отправляться на старый просроченный токен.Как мы можем смягчить это?Любая идея?

В моем случае я регистрируюсь на токен Firebase каждый раз, когда запускается мое приложение.Большую часть времени он посылает регистрационный токен, который уже хранится в моей базе данных.Однако, когда на моем сервере получен новый регистрационный токен firebase, я сохраняю новый токен и, отправляя push-уведомление, отправляю уведомление всем имеющимся у меня токенам регистрации.

Вы не сможете определить, прекратил ли пользователь использование вашего приложения, пока не получите уведомление о запуске приложения, отправив маркер регистрации firebase приложению на стороне сервера.Надеюсь, это поможет.

0 голосов
/ 12 июня 2018

Мы будем вести кампании, которые сохраняют наших клиентов.Все вышеприведенные ответы верны.

0 голосов
/ 11 июня 2018

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

Репозиторий samples для Cloud Functions имеет прекрасный пример этого.Модифицировано оттуда:

var response = admin.messaging().sendToDevice(tokens, payload);
// For each message check if there was an error.
const tokensToRemove = [];
response.results.forEach((result, index) => {
  const error = result.error;
  if (error) {
    // Cleanup the tokens who are not registered anymore.
    if (error.code === 'messaging/invalid-registration-token' ||
        error.code === 'messaging/registration-token-not-registered') {
      tokensSnapshot.ref.child(tokens[index]).remove();
    }
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...