Einfach gesagt, wie funktioniert Eddystone-EID und was sind die wichtigsten Anwendungsfälle?Eddystone-EID - wofür ist es und funktioniert es?
Antwort
Hier ist eine Erklärung, die ich auf einer developers.google.com Seite here gefunden habe.
Was passiert, wenn ein Kunde einen Eddystone-EID Beacon ansieht?
Wenn ein Client-Gerät Sehenswürdigkeiten ein Eddystone-EID Leuchtfeuer als Ergebnis einer Nähe Abonnements wird der aktuelle EID zum Google Proximity Beacon API zusammen mit dem API-Schlüssel des rufenden App gesendet. Die Google Proximity Beacon-API stellt fest, ob der bereitgestellte API-Schlüssel berechtigt ist, mit dem Beacon verknüpfte Anlagen abzurufen. Wenn die Auflösung zulässig ist, werden die Anhänge wie gewohnt als Nachrichtenobjekte in der Nähe bereitgestellt. Andernfalls gibt Google Proximity Beacon API einen leeren Wert zurück, als ob das Beacon nicht registriert worden wäre.
- Die Bake Scan-Komponente der Google Leuchtfeuer Plattform
- Der Proximity Beacon-API ist ein Cloud-Service, den Sie Daten im Zusammenhang mit Ihrem BLE Beacons mit einer REST-Schnittstelle verwalten .
Hier ist ein weiterer Absatz, den ich kritisch zu verstehen, wie die Technologie funktioniert.
Eddystone-EID wurde entwickelt, um Entwicklern die Kontrolle darüber zu geben, welche Clients ihre Beacon-Signale nutzen können. Die Beacon-Kennung ändert sich pseudozufällig auf eine solche Weise, dass sie nur durch einen Auflösungsdienst, der einen Verschlüsselungsschlüssel mit dem Beacon teilt, zu stabilen Informationen aufgelöst werden kann. Ohne Zugriff auf den Auflösungsdienst ist die Beacon-Kennung wenig nützlich.
Eddystone-EID ist geeignet für Fälle, in denen Leuchtfeuer deployers wollen:
- verhindern, dass andere Parteien von ihren Beacons verwenden.
- Schützen Sie die Privatsphäre des Benutzers in Szenarien mit Wearables oder anderen vom Benutzer getragenen Geräten.
- Lease ihr Beacon-Netzwerk an andere Parteien in einer Weise, die einen nachweisbaren "Aus-Schalter" für den Zugriff ermöglicht.
- Geben Sie ein starkes Signal, dass ein Benutzer an einem bestimmten Ort ist, der nicht leicht gefälscht werden kann.
Standard-Beacons übertragen, um eine eindeutige Kennung so apps sagen kann, wenn sie an einem bestimmten Ort sind. Da sich diese Kennung jedoch im Klartext befindet, kann jede App diese Kennung lesen und die Übertragung verwenden, um zu wissen, wo sie sich befindet. Eine nicht autorisierte Drittanbieter-App kann Standardbeacons verwenden, die von den Autoren der App nicht bereitgestellt wurden.
Eddystone-EID verschlüsselt seine Kennung und rotiert sie regelmäßig, um zu verhindern, dass andere die Beacon-Kennung verwenden. Autorisierte Apps können einen "Trusted Resolver" verwenden, um bei der Übertragung eine stabile ID aus der rotierenden verschlüsselten ID zu erhalten.Ein Serveraufruf wird benötigt, um die 8-Byte-AES-verschlüsselte Kennung in eine stabile zu konvertieren.
Googles Proximity Beacon API bietet diese Konvertierung. Theoretisch ist es möglich, einen unabhängigen Trusted Resolver neben Google zu erstellen (dies habe ich zu Testzwecken getan), aber ansonsten müssen Sie Ihre EID-Beacons bei Google registrieren und ihre Webdienste zur Auflösung ihrer Identifikatoren verwenden.
Ein Beispiel ephemeren Bezeichner wie folgt aussieht:
0a194f562c97d2ea.
Hier ist eine aufzuschreiben ich zu dem Thema haben: http://altbeacon.github.io/android-beacon-library/eddystone-eid.html
- 1. Facebook's HipHop - Wofür ist es?
- 2. System.Web.Abstractions: wofür ist es gut?
- 3. Was ist ein Code-Kata und wofür ist es gut?
- 4. Express nächste Funktion, wofür ist es wirklich?
- 5. SSMA-Zeitstempel. Wofür ist es, wie wird es verwendet?
- 6. git Submodul Sync-Befehl - wofür ist es?
- 7. Datenbankspiegelung: "Zeuge" Server, wofür ist es?
- 8. Was ist in Rust unwrap und wofür wird es verwendet?
- 9. Was macht das _val_: in Solr und wofür ist es?
- 10. Wofür ist XML gut und wann sollte ich es verwenden?
- 11. msdeploy --- Funktioniert es oder ist es schlecht?
- 12. Aufruf einer Methode, und es funktioniert nicht, es ist Arbeit
- 13. Was ist [cmdletbinding()] und wie funktioniert es?
- 14. Wofür steht "apachectl"? Warum ist es nicht nur "Apache"?
- 15. Z Shell "Autoload" eingebaut - wofür ist es gut?
- 16. ASP.NET MVC "Models" -Verzeichnis: Wofür ist es gut?
- 17. Wofür war filebuf :: openprot gedacht, und hat es einen Ersatz?
- 18. Tokenizer von UITextInput, wofür wird es verwendet?
- 19. Was ist Microsoft Message Queuing (MSMQ)? Wie funktioniert es?
- 20. Was ist "jobject this" in JNI und wofür wird es verwendet?
- 21. Wofür ist Clojure nützlich?
- 22. Wofür ist DNU Wrap?
- 23. wofür ist ~/.npm dir?
- 24. Wofür ist rel = profile?
- 25. Wofür ist OverrideAuthenticationAttribute?
- 26. Was ist ActionScript 3? Wie funktioniert es?
- 27. Was ist objc_AssociationPolicy? Wie funktioniert es?
- 28. Wofür ist die Ausbeute?
- 29. Was ist Druck << EOF; und wie funktioniert es?
- 30. Was ist IDataErrorInfo und wie funktioniert es mit WPF?