Служба уведомлений Google/Apple Push (APNS/GCM)
Я пытаюсь создать приложение для Android и iOS, и я хочу использовать push-уведомление для обоих приложений. У меня появится серверное приложение, которое отправит уведомление.
Что я пытаюсь понять, так это как мы можем сохранить устройство пользователя, поэтому я узнаю, какая служба должна использоваться APNS или GCM.
Одно из направлений - настроить тип телефона для приложения и сохранить эту информацию на стороне сервера, но что произойдет, если пользователь изменит свой телефон с iOS на Android, необходимо задействовать хранение данных пользователя и собирать информацию для каждого пользователя, а не охватывает сценарий, когда у пользователя есть планшет Android и iOS.
Сделайте его более общим и отправьте уведомление обоим службам APNS и GCM в одно и то же время, один из них вернет ошибку?
Хотелось бы услышать, что лучше всего подходит для таких сценариев?
Ответы
Ответ 1
Очень просто реализовать APNS и GCM:
- Когда устройства APNS (устройства iOS) и GCM (Android Device) регистрируются для Push Notification на Apple и Google Server, он генерирует уникальный токен для каждого устройства.
- После этого вам нужно сохранить токен устройства с идентификатором вашего устройства или идентификатором пользователя (уникальный идентификатор на вашем сервере для устройства) и ОС устройства.
Как и устройство iOS отправляет эту информацию на ваш сервер (backend), вы можете использовать этот формат JSON -
{"token":"abcdedfgehik2bd3d3ff3sffssdff","os":"iOS","userid":34}
Для Android-устройства это будет -
{"token":"erydnfbdbdjskd76ndjs7nnshdjs","os":"Android","userid":35}
Под этим вы можете идентифицировать ОС устройства, а также информацию пользователя и уникальный токен, который будет использоваться для отправки push-уведомления.
Ответ 2
когда устройство регистрируется с помощью услуги push, вы можете создать Unique id (UUID)
, а затем отправить уникальный идентификатор на сервер вместе с регистрационным ключом и любой другой информацией, которую вы хотите. Таким образом, у вас есть все устройства, которые используют и отправляют уведомления всем им.