Web Push: переход с GCM на FCM - PullRequest
5 голосов
/ 09 марта 2019

Я обновляю веб-сайт, использующий Wen Push Notification для Chrome и Firefox.Он работает в течение последних 2 лет.У него почти более 2-3 миллионов подписчиков.Но сейчас его серверы работают медленно, и поэтому я перевожу часть веб-push-уведомлений на AWS lambda для масштабируемого решения по мере увеличения числа подписчиков.

Примечание :: Используется библиотека pywebpush для отправки push-сообщений.

Поскольку проект был построен очень рано, он использует GCM Keys вместо Firebase Keys.Во время миграции я обнаружил очень странную вещь: те же ключи GCM, которые отлично работали на основных серверах, не работают с aws lambda.И я получаю 401 - Legacy Server Key ошибку.Mozilla web push are working great

Я прочитал документацию GCM и обнаружил, что GCM устарела.И после апреля 2019 года он больше не будет работать.Кроме того, я не могу видеть любую консоль GCM.Я пошел в консоль firebase и создал новый проект и попытался отправить push-уведомление с новым fcm_key, на этот раз он ответил 200 and MisMatchSenderId, что имеет смысл, потому что эта информация о подписке была взята из google api с помощью gcm sender id.Теперь у меня есть следующие вопросы, если кто-нибудь знает ответ, пожалуйста, дайте мне знать.

  1. Как я могу перенести текущий GCM project на FCM project, чтобы мой gcm sender id остался прежним?Могу ли я?

  2. Почти 2-3 миллиона подписчиков подписываются, используя старый GCM sender id. Если я не могу перейти, то в чем решение.Потеряю ли я всех своих подписчиков или мне нужно будет повторно подписаться на каждого пользователя и получить новую информацию о подписке?

  3. Если мне нужно будет повторно подписаться на каждый браузер, будет ли запросить разрешение и заблокировать разрешение снова?

Ваша помощь будет принята с благодарностью !!

Ответы [ 2 ]

1 голос
/ 14 марта 2019
  1. Просто импортируйте ваш проект в консоль Firebase.Идентификатор отправителя GCM фактически идентичен идентификатору проекта - уникален и постоянен.Импорт вашего проекта в Firebase не изменит его.

  2. После того, как вы импортируете свой проект GCM и перенесете свои серверы, отношения токенов (то есть подписки на темы, группы устройств, маркеры регистрации в целом)все еще должен быть пригодным для использования.См. это и это .

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

0 голосов
/ 14 марта 2019
  1. Выполните следующие действия https://developers.google.com/cloud-messaging/android/android-migrate-fcm. Идентификатор отправителя останется прежним.

  2. Вы не потеряете подписчика и повторная подписка не требуется.

  3. Вам не нужно повторно подписываться.Пользователю, который уже заблокировал или разрешил, приглашение «заблокировать или разрешить» не будет отображаться.

...