Может действовать устройство Android в качестве iBeacon и выяснить, когда приходят другие Android устройства в своем диапазоне? У других Android устройств должны иметь включенным Bluetooth?
Если клиент входит в мой магазин, и он не'т иметь мое приложение, установленное на свое устройство, технологии iBeacon может работать, или он должен сначала установить приложение? Есть так много клиентов посетили наш магазин ежедневно, но если они Дон'т иметь мое приложение, делает iBeacon в понятие работы?
Обновление: вот теперь можно и на Android 5.0, и вы можете найти открытым исходным кодом для передачи в качестве маяка в 2.1+ версия библиотека маяком Андроид. Имеется также полнофункциональная версия Маяк передатчик в Найти приложения в магазине Google. Вы также можете передать в качестве маяка на коренится Android 4.4.3 устройства, но это требует приложения с системными привилегиями. Для более старых версий ОС, читайте ниже.
Здесь'ы пример передачи iBeacon с Маяка библиотеки Android:
Маяк Маяк = новый маяк.Строитель() .setId1("и 2f234454-cf6d-4a0f-adf2-f4911ba9ffa6 и") .(про setId2;1" - а) .setId3 (на"2" - а) .setManufacturer(0x004c) .setTxPower(-59) .создать(); BeaconParser beaconParser = новый BeaconParser() .setBeaconLayout (на"М:2-3=0215,я:4-19,я:20-21,я:22-23,п:24-24-то"); BeaconTransmitter beaconTransmitter = новый BeaconTransmitter(getApplicationContext(), beaconParser); beaconTransmitter.startAdvertising(Маяк);
4.3 Android устройств с BluetoothLE можете увидеть маяков iBeacon, а не действовать как ibeacons, потому что Android 4.3 не поддерживает периферийные режиме. Устройства Samsung Андроид содержат отдельный проприетарный SDK, но он также не разрешить устройствам действовать как ibeacons. См.: https://stackoverflow.com/questions/20312892/make-samsung-android-device-advertise-as-an-ibeacon) iOS устройств, однако, может выступать как ibeacons.
Как правило, технологии iBeacon в не предназначенные для телефонов, чтобы увидеть другие телефоны. Но вы можете делать то, что вы предлагаете на iOS, сделав пользовательское приложение, которое позволяет действовать телефонов в качестве iBeacon и искать других маяков iBeacon вокруг них. Это позволит кто-нибудь с приложением, чтобы увидеть другие с той же приложения поблизости. Все телефоны потребуется включенным Bluetooth. <удар>делаю это на Android в настоящее время возможно только с Samsung устройствами.</удара>
Чтобы ответить на ваш второй вопрос, да, в мобильном устройстве, как Android или iOS, должен иметь приложение для маяков iBeacon. В настоящее время ни одна операционная система ничего не делает, когда он видит с iBeacon, если приложение установлено, который специально запрограммирован, чтобы сделать что-то. Поэтому клиенты, которые приезжают в магазин, должен иметь уже установленное приложение или они не могут взаимодействовать с ibeacons.
Да, Android устройств могут выступать как iBeacon. Я могу добиться этого с помощью Android 5.X и библиотека AltBeacon. Библиотека AltBeacon от сети radius обеспечивают классы для сборки 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.");
}
});
Надеюсь, что это будет полезно для пользователей поиск для Android как iBeacon. дждж
Чистая SDK для Android. Ноль 3-й партии код - хороший для открытого источника должной осмотрительности
byte[] payload = {(byte)0x02, (byte)0x15, // this makes it a iBeacon
(byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, // uuid
(byte)0x00, (byte)0x00, // Major
(byte)0x00, (byte)0x00}; // Minor
AdvertiseData.Builder dataBuilder = new AdvertiseData.Builder();
dataBuilder.addManufacturerData(0x004C, payload); // 0x004c is for Apple inc.
AdvertiseSettings.Builder settingsBuilder = new AdvertiseSettings.Builder();
settingsBuilder.setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_LOW_LATENCY);
settingsBuilder.setTxPowerLevel(AdvertiseSettings.ADVERTISE_TX_POWER_HIGH);
settingsBuilder.setConnectable(false);
mAdvertiser.startAdvertising(settingsBuilder.build(), dataBuilder.build(), this);
Положите ваши мелкие мэр UUID в тех местах, в полезной нагрузки, но оставить первые два байта, как это.