Ist es möglich, andere Telefone in der Nähe zu finden?

Ich schreibe eine Android-App, die ich irgendwann auf iOS und Windows Mobile portieren möchte (obwohl ich im Moment absolut nichts darüber weiß). Ich möchte, dass meine App in der Lage ist, andere Telefone in einem bestimmten Umkreis (möglicherweise 20 bis 30 Fuß) zu finden, auf denen das Spiel ebenfalls installiert ist, damit die Benutzer in ihrem aktuellen physischen Bereich mit anderen interagieren können. Ist das möglich und wenn ja, wie?

Ich plane für die App eine Internetverbindung zu benötigen, daher war mein erster Gedanke, GPS wie unter beschrieben zu verwendeniOS Andere Geräte in der Nähe suchen (GPS-Standorte)Dazu müssten jedoch kontinuierlich Daten an den Server gesendet werden, um den Standort des Benutzers sowohl über die Bandbreite als auch über die Batterie zu aktualisieren (ganz zu schweigen von den Serverressourcen). Es scheint auch eine Weile zu dauern, bis das GPS eine genaue Lösung gefunden hat, und obwohl ich keine historischen Daten gespeichert hätte, hätte ich nicht erwartet, dass Benutzer mir diese Art von privaten Informationen anvertrauen (und das sollten sie auch nicht!).

Ich weiß, dass es proprietäre Technologien gibt, wie z. B. NFC von Sony, aber das ist viel zu eng, um es für eine App zu verwenden, für die ich geräte- und betriebssystemunabhängig sein möchte. Welche anderen Möglichkeiten gibt es? Angenommen, der Benutzer ist bereit, der App die entsprechenden Berechtigungen zu erteilen. Mit welchen anderen Methoden kann ein Gerät in einem Umkreis von 10 bis 15 Metern ein anderes Gerät in der Nähe finden, was für eine große Nutzerbasis (über eine Million) praktisch ist? Ist HTML5 Geolocation ein besserer Pfad? Oder ist GPS meine einzige echte Option?

Ich habe gefundenVerwenden Sie Android GPS, um andere Telefone zu erkennen und eine Verbindung herzustellen, hoffte aber, dass die letzten Jahre weitere Möglichkeiten eröffnet haben.

AKTUALISIEREN

Vielen Dank für alle bisherigen Antworten. Um einige Fragen zu beantworten, die in den Kommentaren und Antworten gestellt wurden, dachte ich, ich würde beschreiben, wie ich von den Apps / Geräten eine Interaktion erwarte.

Bei allen Benutzern, die diese App installieren, wird ein Agent im Hintergrund ausgeführt, um ihre aktuelle Geolocation zu aktualisieren und auf Pings zu warten. Jeder Benutzer kann das vollständige Programm öffnen und eine Schnellanfrage an alle anderen Benutzer in der Nähe senden. Wenn ich die Route des zentralen Servers gehe, antwortet der Server auf diese Anfrage mit einer Liste von Benutzernamen in der Nähe. Der Benutzer kann dann einen auswählen, um eine Verbindung herzustellen. In diesem Fall gibt das Zielgerät einen Ton aus, um über eine Verbindungsanforderung zu informieren.

Von dort aus ist es einfach genug, die Interaktion zwischen zwei Geräten zu handhaben. Das Finden der Benutzer in der Nähe ist für mich der Knackpunkt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage