Android 장치가 iBeacon으로 작동 할 수 있습니까?
Android 기기가 iBeacon 역할을하고 다른 Android 기기가 해당 범위에 들어올 때를 파악할 수 있습니까? 다른 Android 기기에서 블루투스를 켜야합니까?
고객이 내 매장을 방문했는데 기기에 내 앱이 설치되어 있지 않은 경우 iBeacon이 작동 할 수 있나요? 아니면 먼저 앱을 설치해야하나요? 매일 매장을 방문하는 고객이 너무 많은데 내 앱이 설치되어 있지 않으면 iBeacon 컨셉이 작동하나요?
업데이트 : 이제 Android 5.0에서 가능 하며 Android Beacon Library 2.1 이상 버전에서 비콘 으로 전송하기위한 오픈 소스 코드를 찾을 수 있습니다 . Google Play 스토어 의로 케이트 앱 에는 비콘 송신기의 모든 기능을 갖춘 버전이 있습니다. 루팅 된 Android 4.4.3 기기 에서 비콘으로 전송할 수도 있지만 시스템 권한으로 설치된 앱이 필요합니다. 이전 OS 버전의 경우 아래를 읽으십시오.
다음은 Android Beacon 라이브러리를 사용하여 iBeacon을 전송하는 예입니다.
Beacon beacon = new Beacon.Builder()
.setId1("2f234454-cf6d-4a0f-adf2-f4911ba9ffa6")
.setId2("1")
.setId3("2")
.setManufacturer(0x004c)
.setTxPower(-59)
.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);
BluetoothLE를 사용하는 Android 4.3 장치는 iBeacon을 볼 수 있지만 iBeacon으로 작동하지 않습니다. Android 4.3은 주변 장치 모드를 지원하지 않기 때문입니다. 삼성 Android 기기에는 별도의 독점 SDK가 포함되어 있지만 기기가 iBeacon으로 작동하는 것도 허용하지 않습니다. 참고 : Samsung Android 기기를 iBeacon으로 광고하도록 설정 ) iOS 기기 는 iBeacon으로 작동 할 수 있습니다.
일반적으로 iBeacon 기술은 전화기가 다른 전화기를 볼 수 있도록 설계되지 않았습니다. 그러나 휴대폰이 iBeacon 역할을하고 주변의 다른 iBeacon을 찾도록하는 사용자 지정 앱을 만들어 iOS에서 제안한 것을 수행 할 수 있습니다. 이렇게하면 앱을 사용하는 모든 사람이 근처에서 동일한 앱을 사용하는 다른 사람을 볼 수 있습니다. 모든 전화기는 블루투스를 켜야합니다.
Android에서이 작업은 현재 삼성 기기에서만 가능합니다.
두 번째 질문에 답하려면 Android 또는 iOS 모바일 장치에 iBeacon을 활용하기위한 앱이 설치되어 있어야합니다. 특정 작업을 수행하도록 특별히 프로그래밍 된 앱이 설치되어 있지 않으면 현재 두 운영 체제 모두 iBeacon을 볼 때 아무 작업도 수행하지 않습니다. 따라서 매장에 도착한 고객은 앱이 이미 설치되어 있어야합니다. 그렇지 않으면 iBeacon과 상호 작용할 수 없습니다.
예 , Android 기기는 iBeacon으로 작동 할 수 있습니다. 나는 android 5.X 및 AltBeacon 라이브러리를 사용하여 이것을 달성합니다 . Radius Networks의 AltBeacon 라이브러리는 Android를 비콘 이미 터 및 수용체로 빌드하는 클래스도 제공합니다. 다음은 iBeacon으로 Android에서 작동하는 코드입니다.
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
순수 Android SDK. 제 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);
Put your UUID Minor Mayor in those places in payload, but leave the first two bytes as it is.
참고URL : https://stackoverflow.com/questions/19602913/can-an-android-device-act-as-an-ibeacon
'IT TIP' 카테고리의 다른 글
-rpath와 -L의 차이점은 무엇입니까? (0) | 2020.10.19 |
---|---|
nginx 하위 도메인 구성 (0) | 2020.10.19 |
var self = this입니다. (0) | 2020.10.19 |
CSS 패딩이 요소의 크기를 증가시키는 이유는 무엇입니까? (0) | 2020.10.19 |
색상의 유사성을 확인하는 알고리즘 (0) | 2020.10.19 |