Nearby Messages API – это API, работающий по принципу "издатель – подписчик". Он позволяет передавать небольшие двоичные полезные нагрузки между подключенными к интернету устройствами Android и iOS. Устройства не обязательно должны быть подключены к одной сети, но у них должен быть доступ к интернету.
Функция "Устройства поблизости" использует Bluetooth с низким энергопотреблением для передачи уникального кода подключения между устройствами. Сервер обеспечивает обмен сообщениями между устройствами, которые обнаруживают один и тот же код подключения. Когда устройство обнаруживает код подключения от устройства поблизости, оно отправляет этот код на сервер Nearby Messages для проверки и чтобы узнать, есть ли сообщения для доставки по текущему набору подписок приложения.
Nearby Messages не требует аутентификации и аккаунта Google.
Точный механизм обмена данными может меняться от выпуска к выпуску. Ниже показана последовательность событий, приводящих к обмену сообщениями.
Приложение-издатель отправляет запрос на связывание двоичных полезных данных (сообщения) с уникальным кодом подключения (токеном). Сервер временно связывает полезную нагрузку сообщения с токеном.
Устройство, которое публикует токен, использует Bluetooth с низким энергопотреблением, чтобы токен могли обнаружить устройства поблизости. Публикующее устройство также использует Bluetooth с низким энергопотреблением для поиска токенов других устройств.
Приложение по подписке связывает свою подписку с токеном и использует Bluetooth с низким энергопотреблением, чтобы отправить свой токен издателю и обнаружить токен издателя.
Когда одно из устройств обнаруживает токен другого, оно сообщает об этом серверу.
Сервер обеспечивает обмен сообщениями между двумя устройствами, если оба они связаны с общим токеном, а ключи API, используемые вызывающими приложениями, связаны с одним и тем же проектом в Google Developers Console.
При использовании Nearby SDK сервисов Google Play собирается аналитика использования, которая помогает улучшать работу SDK.
- Показатели эффективности. При использовании Nearby SDK собираются данные о продолжительности публикаций и подписок, а также о количестве полученных сообщений.
- Информация об устройстве. Модель устройства, страна, версия сборки и название пакета приложения собираются и связываются с показателями эффективности, чтобы выявлять региональные и специфические для устройства срезы.
- Публикации Nearby Messages. Данные, опубликованные через Nearby Messages, хранятся в Google до тех пор, пока публикация не будет отменена. Эти данные передаются абонентам, находящимся рядом с устройством.
Конечные пользователи могут разрешить или запретить сбор этих данных в разделе "Настройки > Google > Использование и диагностика".