Идентификатор экземпляра FCM не найден после обновления приложения Android - PullRequest
0 голосов
/ 28 мая 2020

В нашем приложении Android / iOS Xamarin мы наблюдаем проблему с устройствами, не зарегистрированными в их темах уведомлений в системе обмена сообщениями Firebase Cloud.

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

404 {"error":"No information found about this instance id."}

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

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

GET https://iid.googleapis.com/iid/info/eAIWmkyJX3I:APA91bGL5QV6e[OMMITED]?details=true

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

404 {"error":"No information found about this instance id."}

, и приложение больше не может получать уведомления.

Уведомления pu sh обрабатываются с использованием Cross Platform PushNotificationPlugin , и кажется, что это значение CrossPushNotification.Current.Token становится устаревшим:

Каждый раз, когда приложение запускается на экране приветствия, оно повторно регистрирует все свои темы

var pushToken = CrossPushNotification.Current.Token;
await _pushService.RegisterPushAsync(pushToken);  // Custom service to register select topics through our servers

А в методе Application.App () он прослушивает изменения токена следующим образом:

CrossPushNotification.Current.OnTokenRefresh += async (s, p) =>
 {
      if (Settings.AppActivated)  //True while user logged in
      {
          var pushService = _container.Resolve<IPushService>();
          await pushService.RegisterPushAsync(p.Token);
      }
};

На стороне сервера идентификаторы экземпляров регистрируются в их темах через

POST https://iid.googleapis.com/iid/v1/eAIWmkyJX3I:APA91bGL5QV6e[OMMITED]/rel/topics/MY_TOPIC

...