66

Может ли устройство Android действовать как iBeacon и выяснить, когда в его диапазон входят другие устройства Android? Должны ли эти другие устройства Android включить Bluetooth?Может ли устройство Android действовать как iBeacon?

Если клиент входит в мой магазин, и у него нет моего приложения, установленного на его устройстве, может ли iBeacon работать, или он должен сначала установить приложение? Так много клиентов посещают наш магазин ежедневно, но если у них нет моего приложения, работает ли концепция iBeacon?

+0

Вам следует оторваться от «IBeacon» и разбить его на общий термин, сделать некоторые исследования. – JoxTraex

+0

@JoxTraex Я прочитал этот учебник: http://www.devfright.com/ibeacons-tutorial-ios-7-clbeaconregion-clbeacon/ Но у меня есть путаница, поэтому задайте вопрос здесь. Пожалуйста, помогите мне, если у вас есть представление об этом. –

+0

Установите эту ссылку, чтобы превратить ваш Android-телефон в устройство iBeacon http://developer.radiusnetworks.com/2014/11/18/beacon-transmission-with-android-5.html –

ответ

66

UPDATE: Это теперь возможно на Android 5.0, и вы можете найти open-source code for transmitting as a beacon в версии Android Beacon Library 2.1+. Существует также полнофункциональная версия передатчика маяка в приложении Locate в Google Play Store. Вы также можете передавать в качестве маяка на rooted Android 4.4.3 devices, но для этого требуется приложение, установленное с системными привилегиями. Для более старых версий ОС продолжайте чтение.

Android 4.3 устройства с BluetoothLE могут видеть iBeacons, но не действуют как iBeacons, потому что Android 4.3 не поддерживает периферийный режим. Устройства Samsung Android содержат отдельный проприетарный SDK, но он также не позволяет устройствам работать как iBeacons. См.: Make Samsung Android device advertise as an iBeacon) iOS устройства, однако, могут выступать в качестве iBeacons.

Как правило, технологии iBeacon не предназначены для телефонов, чтобы видеть другие телефоны. Но вы можете делать то, что вы предлагаете на iOS, создавая собственное приложение, которое делает телефоны действительными как iBeacon и ищет другие iBeacons вокруг них. Это позволит любому, у кого есть приложение, увидеть рядом с ним другое приложение. Для всех телефонов потребуется Bluetooth. Выполнение этого на Android в настоящее время возможно только с устройств Samsung.

Чтобы ответить на ваш второй вопрос, да, на мобильном устройстве, Android или iOS, должно быть установлено приложение для использования iBeacons. Ни одна операционная система в настоящее время ничего не делает, когда видит iBeacon, если приложение не установлено, которое специально запрограммировано для чего-то. Таким образом, клиенты, которые приходят в магазин, должны иметь уже установленное приложение или не могут взаимодействовать с iBeacons.

+0

Благодарим за помощь :) –

+1

И это! См. «Периферийный режим BLE» -> http://android-developers.blogspot.com/2014/06/developer-preview-and-play-services-5.html – Alexis

+1

'Вы также можете передавать в качестве маяка на корневом Android 4.4 .3, но для этого требуется приложение, установленное с системными привилегиями. ' Как я могу это сделать? – Raiv

13

Да, устройства Android могут выступать в качестве iBeacon. Я достигаю этого, используя android 5.X и AltBeacon library. Библиотека AltBeacon от Radius Networks предоставляет классы для создания android как излучателя маяка и рецептора. Вот некоторые куски коды, который будет работать на Android, как IBeacon:

Beacon beacon = new Beacon.Builder() 
     .setId1("2f234454-cf6d-4a0f-adf2-f4911ba9ffa6") // UUID for beacon 
     .setId2("1") // Major for beacon 
     .setId3("5") // Minor for beacon 
     .setManufacturer(0x004C) // Radius Networks.0x0118 Change this for other beacon layouts//0x004C for iPhone 
     .setTxPower(-56) // Power in dB 
     .setDataFields(Arrays.asList(new Long[] {0l})) // Remove this for beacon layouts without d: fields 
     .build(); 

BeaconParser beaconParser = new BeaconParser() 
     .setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"); 

BeaconTransmitter beaconTransmitter = new BeaconTransmitter(getApplicationContext(), beaconParser); 
beaconTransmitter.startAdvertising(beacon, new AdvertiseCallback() { 

      @Override 
      public void onStartFailure(int errorCode) { 
       Log.e(TAG, "Advertisement start failed with code: "+errorCode); 
      } 

      @Override 
      public void onStartSuccess(AdvertiseSettings settingsInEffect) { 
       Log.i(TAG, "Advertisement start succeeded."); 
      } 
     }); 

Надеется, что это будет полезно для пользователя, ищущим для андроид как IBeacon. jj

+0

Спасибо за обмен , :) –

+0

Нужно ли это использовать корневое устройство? – Amitabh

+0

Нет, нет необходимости корневать устройство :)) – Yogesh

Смежные вопросы