Разрешение EddyStone EID с помощью Android Beacon Library

Я пытаюсь разрешить EID маяка (RadiusNetwork 4X), который был зарегистрирован в Google, используя библиотеку маяков Android. Я хочу использовать ключ API Google, а не o-auth для достижения этой цели.

Документация к библиотеке советует использовать это:

EidResolver resolver = getEidResolverForGoogleOAuthToken(googleOAuthToken);
String beaconName = resolver.resolve(ephemeralId);

Я немного в растерянности. Где находится эта функция? Похоже, он не является частью библиотеки Android Beacon. Не похоже, что он является частью Google Proximity API — все это, как кажется, основано на Интернете? Есть ли полный пример для этого? Спасибо


person Muppet    schedule 09.03.2018    source источник


Ответы (1)


Преобразователь EID — это предлагаемое дополнение к библиотеке Android Beacon, которое не было объединено в официальный выпуск, что объясняет, почему вы не можете его найти. Документы намекают на это, но это, по общему признанию, неясно.

Чтобы использовать функцию, вы должны использовать ветку сборки библиотеки. Если вам нужна помощь в этом, свяжитесь со мной по ссылке моего профиля, и я помогу.

Вы можете увидеть запрос на вытягивание этого изменения в репозитории GitHub библиотеки здесь: https://github.com/AltBeacon/android-beacon-library/pull/364

Преобразователь предназначен для поддержки ключа API с помощью отдельного конструктора, но я так давно его не пробовал, что не могу вспомнить, был ли он полностью протестирован и работал:

EidResolver getInstanceWithGoogleApiKey(String googleProximityBeaconApiKey, String resolutionAttachmentNamespacedType)

Единственная причина, по которой он не был объединен с официальным выпуском, заключается в ограниченном интересе к его тестированию. (Вы первый, кто спрашивает об этом за год!)

Если вы готовы немного повозиться, чтобы заставить его работать на вас, мы, вероятно, наконец-то сможем объединить это в формальный релиз.

person davidgyoung    schedule 09.03.2018
comment
Итак, я потратил на это некоторое время, и хотя казалось, что решение o-auth работает, оно не работало с ключом API. Однако, даже напрямую взаимодействуя с API Google Proximity, мне не удалось заставить его работать с ключом API с помощью функции getforobserved. Это ДЕЙСТВИТЕЛЬНО работало для простых маяков UID EddyStone, но не работало для EID. Так что, возможно, эта функция изменилась или я использую ее неправильно. O-auth был достаточно хорош для меня, но на самом деле я сам расшифровал его на сервере (приложение отправляет эфемерный идентификатор на сервер), что на самом деле намного более безопасно. - person Muppet; 14.03.2018
comment
Так что, к сожалению, я не смог проверить это должным образом с вами, но, возможно, это все же поможет. Так что пока не нужно ничего толкать, на данный момент этого достаточно для меня. Спасибо! - person Muppet; 14.03.2018