Töötan veebisaidil, kus kasutajad saavad registreeruda ja anda teavet oma asukoha kohta. Selleks, et vältida kasutajate valede andmete sisestamist, ei soovi me, et kasutajad esitaksid vabatekstilist teavet, vaid valime võimalikult palju eelnevalt määratletud väärtuste hulgast. Usume, et nende väärtuste esitamiseks on kaks võimalust: kasutage nuppu API välisele teenusepakkujale või looge oma local database.

API-d

Mõned ressursid: - https://developers.facebook.com/docs/reference/ads-api/get-autocomplete-data/ - http://developer.yahoo.com/geo/geoplanet/

Plussid: -andmete täpsus ja täielikkus. - andmete värskendamisega pole seotud hooldust, kuna API-pakkuja hoolitses selle eest. - alustamiseks lihtsam / kiirem (pole vaja luua kohalikku andmebaasi, lihtsalt rakendage API).

Miinused: - jõudluse halvenemine, kui välise API-ga on kättesaadavuse probleeme. - välise API muudatuste tõttu tekkinud katkestus (kuni teie koodi värskendatakse nende muudatuste kajastamiseks). lukustamine välise teenusepakkujaga.

Kohalik andmebaas

Mõned ressursid: - http://developer.yahoo.com/geo/geoplanet/data/ - http://www.maxmind.com/app/geolitecity - http://download.geonames.org/export/dump/

Plussid: - puudub väline sõltuvus: parem stabiilsus ja jõudlus.

Miinused: - alustamiseks rohkem tööd (sellega suhtlemiseks peate looma andmebaasi ja koodi). - ebatäpsete / mittetäielike andmete oht esialgu või aja jooksul. - rohkem hooldustöid andmebaasi ajakohasena hoidmiseks.

Eeldades, et kasutajatelt nõutav sügavusteave on järgmine: -riik: huvitatud väärtusest. kasutatakse ka piirkondade loetelu kitsendamiseks. -piirkonnas (osariik USA-s, maakond Suurbritannias ...): ei huvita väärtus ise, kasutatakse ainult linnade nimekirja kitsendamiseks. -linn: huvitatud väärtusest (mida saab kasutada seotud piirkonna väljatöötamiseks, kui vajame piirkondlikku statistikat). -aadress: huvitatud väärtusest, kuigi VALIKULINE.

Milline variant (kas API või local database) kas valiksite? Milliseid näpunäiteid annaksite rakendamiseks? Milliseid ressursse saate veel jagada?

Kuigi minu IP on dünaamiline (DHCP), pole see kunagi minu linna jaoks täpne, mõnikord võib linn olla 60 miili kaugusel. Kui teie rakendus sunnib kasutajaid linna minema, on teil kõrge põrkemäär.

Parim on kasutada MaxMind IP to Country andmebaasi, mis on salvestatud kohapeal ja on kiirem kui API-d. Koguge IP-riigi kulisside taha, ärge sundige kasutajat seda pakkuma. Seejärel koguge piirkond teisest andmebaasist, jällegi mitte siis, kui kasutajad registreeruvad.

Kui küsite kasutajalt seda tüüpi teavet ja proovite seda automaatselt genereerida ning võrrelda andmebaasiga, kohtate paljusid inimesi, kes teie saidilt lahkuvad. Mis juhtub inimestega, kes on volikirjade taga, VPN-id või töötavad Toris?

  • What happens for people who are behind proxies, VPN's, or running Tor? Usun, et see moodustab üldiselt unustamatu osa Interneti-kasutajatest.
  • Ma ei jätaks kasutajaid tähelepanuta, sest nad on ettevõtte tulemüüride, volikirjade vms taga. AOL väga pikka aega kasutajate volikirju ja see oli kõigile nende sissehelistatud kasutajatele.

Rõhutaksin uuesti teie kogutud teabe kinnitamise tähtsust. Lõppude lõpuks, kui see on piisavalt oluline selle kogumiseks, veenduge, et see oleks õige õigete ametiasutuste / allikate suhtes. Kui seda pole seda oluline, miks seda üldse koguda ja kasutajat koormata?

Töötan SmartyStreetsis, kus valideerime kasutajate asukohad, täpsemalt nende aadressid, ja seega olen lahendanud mitmeid selliseid probleeme. Järgmisena pakun, et API on kõige kindlam lahendus teile väärtuse pakkumiseks. Teisisõnu, teie poolt- ja vastuargumentide loendis on erinevus selge: kohaliku andmebaasi loomine on palju kulukam kui potentsiaal, minimaalsed kõrvalmõjud professionaalse API kasutamisel.

Üks tõhusamaid viise kasutajate täpse geolokatsiooni saavutamiseks on konkreetsete, õige neilt saadud teave. Kuigi paljud inimesed koguvad aadresse, hoolitsevad vähesed selle eest, et see oleks õige aadress, mis tegelikult olemas on. Google ja Yahoo ning sarnased teenused seda ei paku: olge ettevaatlik, et nad aadressi esitaksid ühtlustamine mitte kontrollimineja nende tulemused on parimad oletused.

USA aadresside puhul sertifitseerib USPS CASS käputäie müüjaid, et nad edastaksid teistele inimestele oma autoriteetse aadressi ja asukoha andmed. Saate nende jaoks ise Google'i kasutada, kuid see, mida otsite, on midagi sellist nagu LiveAddress API, mis kontrollib ja geograafiliselt määrab USA aadressid.

Võin öelda, et oleme investeerinud märkimisväärne ressursid andmebaasi loomiseks ja hooldamiseks, riskid ja muud miinused, mida mainisite oma andmebaasi loomisel. Oleme käsitlenud ka miinuseid, mille te API kohta loetlesite. Vaadake üksikasju SLA-st ja pidage meeles, et oleme jõudluse ja tööaja tagamiseks ainus hankija, kelle API on geograafiliselt jaotatud 3 üleliigse andmekeskuse vahel. Teisisõnu, see lõõmab kiiresti ja taotlusi töödeldakse paralleelselt.

Kaasaegsete (HTML5 jne) geolokatsioonifunktsioonide kasutamine on teatud määral täpne, kuid isegi praegu on nende ühilduvus piiratud ideaalsetes tingimustes kaasaegsemate brauseritega (kasvasin üles Iowas, kus geolokatsioon on linnapiirkondadest kaugel). Kuid kasutaja aadressi hankimine ja kontrollimine on kindel viis vajaliku saamiseks, kui see on tõesti vajalik. Seda ma teeksin.

Kui soovite oma külastajate riigi, piirkonna ja linna andmetele juurde pääseda optimaalse aadressiga, on kaks lähenemisviisi.

Esiteks võite kasutada IP-geograafilise asukoha määramise teenuseid. See tuvastab teie külastajate asukohad nende IP-de põhjal. See on üsna lihtne, kuid saadaval on ainult riigi / osariigi / linna taseme andmed. Samuti pole sellised andmed täpsed, kui külastajad kasutavad VPN-i või puhverserverit (mis määrab külastajatele IP-i, mis osutab tegelike asukohtade asemel mõnele muule füüsilisele asukohale). Turundusstrateegia läbiviimise hulgas on see endiselt üsna populaarne.

Teiseks, kui täpsus on teie prioriteet, võite kaaluda HTML5 geolokatsiooni API-d. See pääseb juurde teie külastajate täpsetele laius- / pikkuskraadidele. Saate rakendada geokoodi API-d, et saada külastajatele veelgi üksikasjalikumaid asukoha andmeid, isegi koos aadressiga. Piirang on see, et see vajab külastajate luba oma asukoha jagamiseks. Mõni kasutaja ei pruugi seda teha. Pealegi ei toeta seda veel kõik brauserid laialdaselt.

none: Charles Robertson | none