Mit der Foursquare-API gibt es eine Möglichkeit festzustellen, wie weit ein Benutzer von dem Veranstaltungsort entfernt war, an dem er eingecheckt hat? Das checkin
zurückgegebene Objekt hat keine Angabe, was die GPS-Koordinaten des Benutzers waren.Wie überprüfe ich die Gültigkeit eines Foursquare Checkins?
Antwort
Vielleicht.
Vom API docs for the Checkin response object:
Checkin Antwort
LageOptional Wenn der Typ dieses checkin ist "Schrei" oder "venueless", dieses Feld vorhanden sein kann und enthält ein Lat, ein Lng-Paar und/oder einen Namen und liefert unstrukturierte Informationen über den aktuellen Standort des Benutzers.
Ich denke, das kann nicht für ein normales Einchecken mit der aktuellen API getan werden. ll
(Längen- und Breitengrad) ist sogar kein Pflichtfeld für einen Check-in im current API version.
Foursquare legt bewusst kein "Cheat" -Bit oder die vom Gerät des Benutzers berichtete Entfernung von einem Veranstaltungsort über die API offen. Die überwiegende Mehrheit der Benutzer von foursquare betrügen nicht und die Mehrheit der "Unregelmäßigkeiten" zwischen dem gemeldeten Standort eines Benutzers und dem Standort des Veranstaltungsortes beruhen auf einer schlechten GPS-Genauigkeit oder darauf, dass der Benutzer ein "post-check-in" bei a Ort, an dem sie waren, aber vergessen, früher einchecken.
Mein Rat für Entwickler re: Betrug ist es entweder zu ignorieren und/oder es nach der Tat zu erkennen.
Ignorieren Cheats: Die Kosten/Nutzen-Verhältnis zu versuchen, um Betrug zu erkennen, ist es im Allgemeinen nicht wert. Es ist nicht nur ein Versuch, ein effektives System aufzubauen, sondern Sie haben häufig falsche positive Ergebnisse, wenn Sie die legitime Nutzung bestrafen und Benutzer, die versuchen, das System ohne eigenes Verschulden zu nutzen, zu entmündigen. Wenn Sie sich Sorgen machen, können Sie Ihr System so gestalten, dass der Benutzer entweder durch Betrug (sie berauben sich nur, oder die Belohnung ist physisch, so dass sie nichts gewinnen) oder durch sozialen Druck gegen Betrug (z. B. Freunde von foursquare) Rangliste scoped bedeutet, dass sie Freunden im allgemeinen klar ist, wenn ein Benutzer offensichtlich Betrug ist, einen wirklichen Nutzen für den Betrug Benutzer zunichte gemacht)
Cheats Detect nach der Tat: Sie werden mehr Glück/Präzision haben post- Erfassung Betrug Tatsache, wenn Sie die gesamte Aktivität eines Benutzers betrachten können, anstatt zu versuchen, mit jedem Check-in eine Entscheidung zu treffen. Eine Verwendung, die oft betrügt, sollte mit einem periodischen Job mit einfachen Regeln ziemlich leicht zu erkennen sein. Ein Benutzer, der 100 Check-Ins checkt, wird schwerer zu erkennen sein, aber das wird wahr sein, egal welche Mechanismen Sie gewählt haben (und Sie sind besser mit gelegentlichen falsch-negativen als gelegentlichen falsch-positiven Ergebnissen)
Das funktioniert nicht, weil Sie an einem Veranstaltungsort 1000 Meilen von hier einchecken können und immer noch die Standortinformationen erhalten. Der JSON hat keine Unterschiede (soweit ich das beurteilen kann) zwischen einem Ort in der Nähe und einem weit entfernten Ort. –