API Nearby Messages — это API с моделью «публикация-подписка», позволяющий передавать небольшие бинарные данные между подключенными к интернету устройствами Android и iOS. Устройства не обязательно должны находиться в одной сети, но они должны быть подключены к интернету.
Nearby использует Bluetooth Low Energy для передачи уникального по времени кода сопряжения между устройствами. Сервер обеспечивает обмен сообщениями между устройствами, которые обнаруживают один и тот же код сопряжения. Когда устройство обнаруживает код сопряжения от ближайшего устройства, оно отправляет этот код на сервер Nearby Messages для проверки и определения наличия сообщений для доставки в рамках текущего набора подписок приложения.
Приложение Nearby Messages не требует аутентификации и учетной записи Google.
Точный механизм обмена данными может различаться от версии к версии. Следующая последовательность показывает события, приводящие к обмену сообщениями:
Приложение для публикации отправляет запрос на сопоставление двоичных данных (сообщения) с уникальным во времени кодом сопоставления (токеном). Сервер устанавливает временную связь между данными сообщения и токеном.
Устройство публикации использует технологию Bluetooth Low Energy, чтобы сделать токен обнаруживаемым находящимися поблизости устройствами. Устройство публикации также использует Bluetooth Low Energy для сканирования токенов с других устройств.
Приложение-подписчик связывает свою подписку с токеном и использует Bluetooth Low Energy для отправки своего токена издателю, а также для обнаружения токена издателя.
Когда одна из сторон обнаруживает токен другой стороны, она сообщает об этом серверу.
Сервер обеспечивает обмен сообщениями между двумя устройствами, когда оба устройства связаны с общим токеном, а ключи API, используемые вызывающими приложениями, связаны с одним и тем же проектом в консоли разработчиков Google .
При использовании сервисов Google Play, таких как Nearby SDK, собираются аналитические данные об использовании для улучшения пользовательского опыта.
- Показатели производительности: при использовании Nearby SDK собираются данные о продолжительности публикаций и подписок, а также о количестве полученных сообщений.
- Информация об устройстве: модель устройства, страна, версия сборки и название пакета приложения собираются и сопоставляются с показателями производительности для идентификации региональных и специфических для устройства сегментов.
- Приложение Nearby Messages публикует следующие данные: информация, опубликованная через Nearby Messages, хранится компанией Google до тех пор, пока сообщение не будет снято с публикации. Эти данные передаются подписчикам, находящимся рядом с устройством.
Пользователи могут разрешить или запретить сбор этих данных, перейдя в Настройки > Google > Использование и диагностика.