AndroidデバイスはiBeaconとして機能し、他のAndroidデバイスがその範囲内にあるかどうかを判断できますか?それらの他のAndroid =デバイスでBluetoothをオンにする必要がありますか?
顧客が私の店に来て、自分のデバイスに私のアプリをインストールしていない場合、iBeaconは動作しますか、それとも最初にアプリをインストールする必要がありますか?毎日多くのお客様が私たちのショップを訪れていますが、私のアプリをインストールしていない場合、iBeaconコンセプトは機能しますか?
UPDATE:これはAndroid 5.0で可能になり、 open-source code forビーコンとしての送信 2.1+バージョンの Android Beacon Library 。 Locate アプリのビーコン送信機のフル機能バージョンもありますGoogle Playストア: rooted Android 4.4.3デバイス でビーコンとして送信することもできますが、システム権限でインストールされたアプリが必要です。古いOSバージョンの場合、以下をお読みください。
Android Beacon Libraryで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デバイスは、iBeaconsを認識できますが、iBeaconsとしては動作しません。Android 4.3は周辺モードをサポートしていません。SamsungAndroidまた、デバイスがiBeaconsとして機能することも許可しません。 Make Samsung Android device advertise as a iBeacon )ただし、iOSデバイスはiBeaconsとして機能できます。
通常、iBeaconテクノロジーは、電話が他の電話を見るためのものではありません。しかし、iPhoneをiBeaconとして機能させ、周囲のiBeaconsを探すカスタムアプリを作成することで、iOSで提案したことを実行できます。これにより、アプリを持っている人なら誰でも、近くに同じアプリを持っている人を見ることができます。すべての電話でBluetoothをオンにする必要があります。 これをAndroidで実行することは、現在Samsungデバイスでのみ可能です。
2番目の質問に答えるには、はい、モバイルデバイス、両方AndroidまたはiOS、iBeaconsを利用するアプリをインストールする必要があります。現在、どちらのオペレーティングシステムも、アプリがインストールされ、何かを行うように特別にプログラムされているため、店舗に到着する顧客はアプリを既にインストールしておく必要があります。そうしないと、iBeaconsを操作できません。
はい、AndroidデバイスはiBeaconとして機能できます。これを実現するには、Android 5.Xおよび AltBeaconライブラリ 。Radius NetworksのAltBeaconライブラリは、ビルドするためのクラスを提供しますAndroidビーコンエミッタおよびレセプタとしても機能します。 for Android as 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 as iBeacon。jjを検索するユーザーに役立つことを願っています
Pure Android SDK。ゼロのサードパーティコード-オープンソースのデューデリジェンスに最適
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副市長をペイロードのこれらの場所に置きますが、最初の2バイトはそのままにします。