Где доступна информация о маяках, зарегистрированная в Google Proximity API?

Я знаю, что iBeacon транслирует только сигнал UUID. То, что я читаю об API Proximity Beacon, сбивает с толку. Мы должны зарегистрироваться:

  • Рекламируемый идентификатор (обязательно)
  • Статус
  • Стабильность
  • Широта и долгота
  • Уровень пола в помещении
  • Идентификатор места API Google Адресов.
  • Текстовое описание
  • Произвольные свойства в виде пар ключ/значение

Передает ли Eddystone всю приведенную выше информацию, как показано на этом изображении ?


person Thái Ngô    schedule 19.10.2015    source источник


Ответы (2)


Сами маяки передают очень мало информации — обычно только UUID Proximity + основной + дополнительный (для iBeacons) или BeaconID + мощность передачи (для маяков Eddystone UID).

API Proximity Beacon – это служба, позволяющая "зарегистрировать" маяк вместе с дополнительная информация к нему. Часть этой информации, например:

  • PlaceID
  • Строительный уровень
  • Стабильность
  • широта/долгота
  • Описание
  • Характеристики

совершенно необязательны, предназначены только для собственного использования владельцем регистрирующего маяка. Вы можете точно указать, где находится маяк, с помощью широты/долготы и PlaceID, или вы можете пропустить их.

API Proximity Beacon также позволяет связывать небольшие фрагменты данных, называемые «вложениями», с вашим маяком. Это то, что люди могут видеть, когда сталкиваются с вашими маяками в дикой природе. Их содержание и формат полностью зависят от вас.

Итак, если вы хотите зарегистрировать маяк с помощью PB API, единственное, что вы ДОЛЖНЫ указать, — это adsId.

Для маяка Eddystone это будет 16 байт (идентификатор маяка из UID). Frame), в то время как для iBeacon это будет 20 байт (16 байт UUID Proximity iBeacon + 2 байта старшего + 2 байта младшего).

Обратите внимание, что, как согласно моему ответу на другой вопрос, то, что вы загружаете в функцию регистрации для маяка, представляет собой строку в кодировке base64, представляющую базовые ДВОИЧНЫЕ данные. Итак, получите буфер или массив байтов, представляющий идентификатор рекламы, а затем закодируйте его в base64.

person MarcWan    schedule 22.10.2015

Как вы заметили, сам маяк транслирует только свой идентификатор, то есть UUID + Major + Minor для iBeacon и пространство имен + экземпляр для Eddystone.

Эти дополнительные поля, которые вы регистрируете с помощью Google Proximity API, полностью хранятся на их сервере и не транслируются маяком.

Когда вы обнаружите маяк, вы можете прочитать его идентификатор из рекламного пакета и использовать его для получения дополнительных данных из Proximity API.

Представьте, что у вас есть маяк с идентификатором X. Вы загружаете данные маяка в Proximity API, например, Advertised ID = X, description = «Мой маяк». Позже, когда ваше приложение обнаружит этот маяк, оно может обратиться к Proximity API и сказать «дайте мне данные для маяка X», и таким образом вы получите доступ к дополнительной информации, например, к описанию «Мой маяк».

Изображение, на которое вы ссылаетесь, взято из учебника Proximity API, который я помню, видел в Интернете, и это просто упрощение, потому что, строго говоря, маяк не передает всю эту информацию, а только идентификатор. Но этого идентификатора достаточно, чтобы получить дополнительные данные из Proximity API (при условии, что у вас есть подключение к Интернету), поэтому можно думать о Proximity API как о чем-то, что расширяет ваши знания о маяке, и я думаю, что именно поэтому изображение показывает это. Сюда.

person heypiotr    schedule 19.10.2015
comment
Спасибо, heypiotr. Я понимаю ! :D - person Thái Ngô; 20.10.2015