Как GCM идентифицирует устройство в Push-уведомлениях? - PullRequest
0 голосов
/ 08 мая 2018

Вот мой способ мышления: Каждое устройство, присутствующее в сети, должно иметь IP-адрес, если оно хочет, чтобы другие отправляли ему HTTP-запрос (или другой тип) и по очереди отвечали отправителю. Здесь этот идентификатор устройства является IP-адресом, а не чем-то вроде MAC-адреса.

Для Push-уведомлений Я прочитал , что существует длинное соединение TCP-сокета, открытое для сервера Google, которое позволяет получать Push-уведомления.

Но как ... волшебно?

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

Что это за "идентификатор", который позволяет серверу Google отправлять мне уведомления?

1 Ответ

0 голосов
/ 08 мая 2018

Первый трюк в том, что устройство открывает соединение.

Чем каждое приложение, которое хочет получить уведомление, должно зарегистрироваться на устройстве (системе) и получить токен (который уникален для устройства / пользователя и приложения). Этот токен действует как адрес для данного конкретного приложения. Система знает все токены, зарегистрированные всеми этими приложениями, поэтому она может сказать серверам Google: «Вот список всех токенов, которые эти устройства хотят прослушивать».

И приложение должно отправить этот токен своему бэкэнду, чтобы бэкэнд также знал адрес устройства.

...