0

Возможно ли использовать GCM без какой-либо связанной с GCM логики на стороне клиента? Идея состоит в том, что мобильное приложение не должно хранить/обновлять токены и т. Д. Мобильное приложение должно просто инициализировать сеанс с помощью промежуточного сервера промежуточного программного обеспечения, которое вернет внутренний идентификатор устройства и все, что он (сервер backend будет регистрировать устройство в GCM/APN).Использование GCM/Firebase без клиентов SDK

Цель состоит в том, чтобы сократить на стороне клиента логики и упростить интеграцию, поэтому поток, вероятно, должен выглядеть следующим образом: APP < -> BACKEND < -> GCM

+0

Я думаю, что знаю, что вы просите, но что нужно сделать. Вы говорите, что хотите, чтобы клиент НЕ регистрировался в GCM, чтобы получить токен регистрации, а скорее сервер бэкэнд? – opt05

+0

yes @ opt05 Я хочу, чтобы мой сервер backend регистрировал каждое устройство в GCM. Поэтому мобильное устройство не должно даже знать свой gcm-токен. – Dyrk

ответ

2

Я не думаю, что вы можете, в документации говорится, что «это приложение должен зарегистрироваться в GCM и получить уникальный идентификатор, называемый регистрационным маркером ». Существует целая песня и танцы, которые клиент должен делать с GCM, что бэкэнд не позволяет делать. Кроме того, если сервер GCM не знает, каким устройством является идентификатор регистрации, он не знает, к какому клиенту будет отправлено уведомление.

Для GCM документации указывается только один процесс регистрации клиента:

  1. клиент приложение получает регистрационный маркер, используя Instance ID API. Вызов этого API должен иметь авторизованный объект, установленный для идентификатора отправителя вашего сервера приложений, и область действия установлена ​​на соответствующее значение для GCM (в зависимости от вашей платформы). Подробную информацию об этом API см. В описании API.
  2. Клиентское приложение передает маркер регистрации на сервер приложений.
  3. Сервер приложений сохраняет регистрационный токен и подтверждает клиентское приложение, что процесс завершен успешно.
+0

Но тогда, как работают такие сервисы, как Parse/OneSignal/Ionic? В своем потоке вы не должны регистрировать маркер GCM/APN на стороне приложения. Интеграция так же проста, как несколько строк кода на стороне клиента, а их бэкэнд - все остальное. – Dyrk

+0

Когда вы добавляете свои файлы SDK/библиотеки в свой проект, они делают это для вас, поэтому он выглядит как меньше кода. Вы все равно должны предоставить идентификатор отправителя GCM на стороне клиента, чтобы он мог зарегистрироваться в вашем проекте GCM. – opt05