2013-10-21 4 views
1

그냥 IBeacon으로 시작합니다. IBeacon Android, 에 지정된 문제가 있습니다. "두 개의 앱이 동일한 ID를 사용하여 범위를 등록하는 경우 두 개의 앱이 서로 균등하게 연결됩니다 (). 나는 이것에 대해 완벽한 생각을하지 못했다."두 앱이 동일한 ID로 범위를 등록하는 경우 IBeacon 안드로이드에서 서로 충돌합니다"

아무도 이것에 대해 알고 있다면 저를 도우십시오.

답변

2

걱정할 필요가 없습니다. 이론적으로, 두 개의 앱이 Android iBeacon 라이브러리의 동일한 인스턴스를 공유하고 있으며 둘 다 자신의 Region 객체를 정의 할 때 동일한 고유 ID를 전달하면 두 번째 앱이 첫 번째 앱의 지역을 덮어 씁니다.

두 앱이 동일한 서비스 인스턴스를 사용하는 쉬운 방법이 없기 때문에 이것은 매우 고급 사용자를 제외하고는 실질적인 문제가 아닙니다. 필자는 이것을 라이브러리의 문서에 넣었습니다. 나중에이 문제를 해결하기위한 메모로 사용했습니다.

예 (이 작업을 수행하지 않음) :

// App 1 
Region region1 = new Region("myUniqueId", "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0", 1, 2); 
iBeaconManager.startMonitoringBeaconsInRegion(region1); 

// App 2 - the startMonitoring call will actually alter the region1 definition above 
//   because the two Region objects have the same "myUniqueId" identifier 
Region region2 = new Region("myUniqueId", "5A4BCFCE-174E-4BAC-A814-092E77F6B7E5", 3, 4); 
iBeaconManager.startMonitoringBeaconsInRegion(region2); 
+0

안녕하세요 답장을 보내 주셔서 감사합니다는 ... 여기에 "고유 ID는"UUID, 주요 및 사소한 값을 의미? –

+0

나는 이것을 명확하게하기 위해 나의 대답을 편집했다. Region을 정의 할 때 첫 번째 매개 변수는 사용자 정의 고유 식별자 문자열입니다. 이 문자열은 원거리 또는 모니터링되는 모든 지역에 대해 고유해야합니다. 이 식별자에 대해 동일한 값을 가진 다른 Region 객체를 전달하면 사용자가 정의한 이전 Region의 proximityUUID/major/minor를 덮어 씁니다. 이것은 iOS API와 동일하게 작동합니다. 기존 지역 수정시 편리하지만 작동 방식을 모르는 경우에는 구울 수 있습니다. – davidgyoung

+0

도움을 주셔서 대단히 감사합니다. 나는 한 가지 더 질문이있다. "ibeacon device app이 없으면"경기장에 들어갈 때가 아니라 선물 가게를 이용할 때 쿠폰을 휴대 전화에 넣을 수 있습니다. 실제로 가게 안쪽으로 걸어 들어갈 때 " –