66

Kann ein Android-Gerät als iBeacon fungieren und herausfinden, wann andere Android-Geräte in Reichweite sind? Müssen diese anderen Android-Geräte Bluetooth aktiviert haben?Kann ein Android-Gerät als iBeacon fungieren?

Wenn ein Kunde in meinen Shop kommt und meine App nicht auf seinem Gerät installiert ist, kann iBeacon dann funktionieren oder muss er zuerst die App installieren? Es gibt so viele Kunden, die unseren Shop täglich besuchen, aber wenn sie meine App nicht installiert haben, funktioniert das iBeacon-Konzept?

+0

Sie sollten von "IBeacon" brechen und es in einen allgemeinen Begriff aufteilen, forschen. – JoxTraex

+0

@JoxTraex Ich hatte dieses Tutorial gelesen: http://www.devfright.com/ibeacon-tutorial-ios-7-clbeaconregion-clbeacon/ Aber ich habe Verwirrung, so stellen Sie Frage hier. Bitte helfen Sie mir, wenn Sie eine Idee dazu haben. –

+0

Überprüfen Sie diesen Link, um Ihr Android 5.0 Telefon zu einem iBeacon Gerät http://developer.radiusnetworks.com/2014/11/18/beacon-transmission-with-android-5.html –

Antwort

66

UPDATE: Dies ist nun möglich, auf Android 5.0, und Sie können open-source code for transmitting as a beacon in der 2.1+ Version der Android Beacon Library zu finden. In der App Locate im Google Play Store gibt es auch eine voll ausgestattete Version eines Beacon Senders. Sie können auch als Beacon auf rooted Android 4.4.3 devices übertragen, aber es erfordert eine App mit Systemberechtigungen installiert. Lesen Sie für ältere Betriebssystemversionen weiter.

Android 4.3-Geräte mit BluetoothLE können zwar iBeacons sehen, aber nicht als iBeacons, weil Android 4.3 den Peripheriemodus nicht unterstützt. Samsung Android-Geräte enthalten ein separates proprietäres SDK, erlauben aber auch keine Geräte als iBeacons. Siehe: Make Samsung Android device advertise as an iBeacon) iOS-Geräte können jedoch als iBeacons fungieren.

Normalerweise sind iBeacon-Technologien nicht dafür vorgesehen, dass Telefone andere Telefone sehen können. Sie können jedoch das tun, was Sie unter iOS vorschlagen, indem Sie eine benutzerdefinierte App erstellen, mit der Telefone als iBeacon fungieren und nach anderen iBeacons in ihrer Umgebung suchen. Dies würde jedem mit der App erlauben, andere mit der gleichen App in der Nähe zu sehen. Alle Telefone müssten Bluetooth aktiviert haben. Dies wäre unter Android derzeit nur mit Samsung-Geräten möglich.

Um Ihre zweite Frage zu beantworten, muss auf einem Mobilgerät, sowohl Android als auch iOS, eine App installiert sein, um iBeacons nutzen zu können. Keines der Betriebssysteme tut derzeit irgendetwas, wenn es einen iBeacon sieht, es sei denn, es wird eine App installiert, die speziell dafür programmiert ist, etwas zu tun. Kunden, die in einem Geschäft ankommen, müssen daher bereits eine App installiert haben oder mit iBeacons nicht interagieren.

+0

Vielen Dank für Hilfe :) –

+1

Auch das! Siehe "BLE Peripheral Mode" -> http://android-developers.blogspot.com/2014/06/developer-preview-and-play-services-5.html – Alexis

+1

'Sie können auch als Beacon auf gerooteten Android 4.4 übertragen .3 Geräte, aber es erfordert eine App mit Systemberechtigungen installiert. ' Wie kann ich das tun? – Raiv

13

Ja, Android-Geräte können als iBeacon fungieren. Ich erreiche dies mit Android 5.X und AltBeacon library. Die AltBeacon-Bibliothek von Radius Networks bietet Klassen, um Android als Beacon-Emitter und -Receiver zu bauen. Hier einige Stück Code, das für Android als IBeacon arbeiten:

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."); 
      } 
     }); 

Hoffe, dass es hilfreich für Benutzer für Android als IBeacon suchen. jj

+0

Danke für die Freigabe . :) –

+0

Benötigt dies ein gerootetes Gerät? – Amitabh

+0

Nein, es besteht keine Notwendigkeit, das Gerät zu rooten :)) – Yogesh

Verwandte Themen