Необходим переход с GCM на FCM без изменения собственного кода Android? - PullRequest
0 голосов
/ 30 октября 2018

На странице Google Developer было объявлено следующее сообщение:

As of April 10, 2018, Google has deprecated GCM. The GCM server and client APIs are deprecated and will be removed as soon as April 11, 2019. Migrate GCM apps to Firebase Cloud Messaging (FCM), which inherits the reliable and scalable GCM infrastructure, plus many new features. See the migration guide to learn more.

А от firebase.googleblog.com:

If you have projects that are still using the GCM APIs, you will need to update your client and server code to use FCM before April 11, 2019. But rest assured, your existing GCM tokens will continue to work with FCM so you won't lose the ability to send messages to your existing users.

Я перепутал эти сообщения. Это значит?

  1. Измените конечную точку сервера на FCM: fcm.googleapis.com/fcm/ и fcm-xmpp.googleapis.com (эту точку можно изменить)
  2. ДОЛЖНЫ ли мы изменить наше приложение на использование библиотеки FCM, а не библиотеки GCM (gcm.jar)? Или мы можем просто сохранить старый GCM (gcm.jar) и ТОЛЬКО СМЕНИТЬ сервер?

И вопрос о внутренней работе push-уведомлений Google:

  1. Как мой предыдущий пользователь с кодом GCM (gcm.jar) может продолжать получать уведомления после завершения работы GCM? Означает ли это, что библиотека GCM является всего лишь промежуточным (т.е. перенаправителем push-уведомлений) для получения токена и сообщения с уведомлением? Есть ли в Google механизм перенаправления на правильный URL-адрес уведомления, как показано на следующем рисунке?

Guessing push mechanism?

UPDATE:

  1. Я исследовал исходный код com.google.android.gcm (на https://chromium.googlesource.com/android_tools/+/master/sdk/extras/google/gcm/gcm-client/src/com/google/android/gcm); он не содержит какой-либо URL-ссылки непосредственно на GCM или сервер push-уведомлений. Кажется, он работает через службу Google Play ( Как серверы подключения GCM отправляют сообщения на устройство Android? ), поэтому служба Google Play определяет URL-адрес FCM или GCM на основе идентификатора проекта (или чего-то еще)?
...