Dapat perangkat Android bertindak sebagai iBeacon dan mencari tahu ketika perangkat Android lainnya datang dalam jangkauan? Apakah orang-orang lain yang perangkat Android harus memiliki Bluetooth diaktifkan?
Jika seorang pelanggan datang ke toko saya dan dia doesn't memiliki aplikasi diinstal pada perangkat, dapat iBeacon bekerja, atau ia harus menginstal aplikasi terlebih dahulu? Ada begitu banyak pelanggan yang mengunjungi toko kami sehari-hari, tetapi jika mereka don't memiliki aplikasi diinstal, apakah iBeacon konsep bekerja?
UPDATE: Ini sekarang mungkin di Android 5.0, dan anda dapat menemukan kode open-source untuk transmisi sebagai mercusuar 2.1+ versi Android Beacon Perpustakaan. Ada juga versi fitur lengkap dari sebuah pemancar beacon di Cari aplikasi di Google Play Store. Anda juga dapat mengirimkan sebagai mercusuar di berakar perangkat Android 4.4.3, tetapi membutuhkan aplikasi diinstal dengan sistem hak istimewa. Untuk versi OS, baca di bawah ini.
Berikut ini's contoh dari transmisi iBeacon dengan Android Beacon Perpustakaan:
Beacon beacon = new Beacon.Builder() .setId1("2f234454-cf6d-4a0f-adf2-f4911ba9ffa6") .setId2("1") .setId3("2") .setManufacturer(0x004c) .setTxPower(-59) .membangun(); BeaconParser beaconParser = new BeaconParser() .setBeaconLayout("m:2-3=0215,saya:4-19,saya:20-21,i:22-23,p:24-24"); BeaconTransmitter beaconTransmitter = new BeaconTransmitter(getApplicationContext(), beaconParser); beaconTransmitter.startAdvertising(beacon);
Perangkat Android 4.3 dengan BluetoothLE dapat melihat iBeacons tapi tidak bertindak sebagai iBeacons, karena Android 4.3 tidak mendukung modus perifer. Perangkat Samsung Android berisi terpisah milik SDK tapi itu juga tidak memungkinkan perangkat untuk bertindak sebagai iBeacons. Lihat: https://stackoverflow.com/questions/20312892/make-samsung-android-device-advertise-as-an-ibeacon) perangkat iOS, namun, dapat bertindak sebagai iBeacons.
Biasanya, teknologi iBeacon yang tidak dimaksudkan untuk ponsel untuk melihat ponsel lain. Tapi anda bisa melakukan apa yang anda sarankan pada iOS dengan membuat aplikasi kustom yang membuat ponsel bertindak sebagai iBeacon dan mencari yang lain iBeacons di sekitar mereka. Hal ini akan memungkinkan siapa pun dengan aplikasi untuk melihat orang lain dengan aplikasi yang sama di dekatnya. Semua ponsel akan membutuhkan Bluetooth diaktifkan. <menyerang>Lakukan ini pada Android akan saat ini hanya mungkin dapat dilakukan dengan perangkat Samsung.</strike>
Untuk menjawab pertanyaan kedua anda, ya, perangkat mobile, baik Android atau iOS, harus memiliki aplikasi diinstal untuk mengambil keuntungan dari iBeacons. Baik sistem operasi saat ini tidak apa-apa ketika melihat sebuah iBeacon kecuali menginstal sebuah aplikasi yang secara khusus diprogram untuk melakukan sesuatu. Sehingga pelanggan yang tiba di sebuah toko harus memiliki sebuah aplikasi yang sudah diinstal atau mereka tidak dapat berinteraksi dengan iBeacons.
Ya, perangkat Android dapat bertindak sebagai iBeacon. Aku mencapai hal ini dengan menggunakan android 5.X dan AltBeacon perpustakaan. AltBeacon perpustakaan dari Radius Jaringan menyediakan kelas-kelas untuk membangun android sebagai beacon emitor dan reseptor juga. Berikut ini adalah beberapa bagian dari kode yang akan bekerja untuk android sebagai 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.");
}
});
Berharap ini akan membantu bagi pengguna yang mencari android sebagai iBeacon. jj
Pure Android SDK. Nol pihak ke-3 kode - baik untuk Open Source Due Diligence
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);
Menempatkan anda UUID Minor Mayor di tempat-tempat di muatan, tapi tinggalkan dulu dua byte seperti itu.