Как да си направим уебсайт - Безплатно и под 7 минути

Работя върху уебсайт, където потребителите ще могат да се регистрират и да предоставят информация за местоположението си. За да попречим на потребителите да въвеждат неправилни данни, не искаме потребителите да предоставят информация за свободен текст, а вместо това да избират от предварително дефинирани стойности, доколкото е възможно. Ние вярваме, че има 2 начина за предоставяне на тези ценности: използвайте API към външен доставчик на услуги или създайте свой собствен local database.

API

Някои ресурси: - https://developers.facebook.com/docs/reference/ads-api/get-autocomplete-data/ - http://developer.yahoo.com/geo/geoplanet/

Професионалисти: -точност и пълнота на данните. -няма поддръжка, свързана с актуализация на данните, тъй като тя се е погрижила от доставчика на API. -лесно / по-бързо, за да започнете (няма нужда да създавате локална база данни, просто внедрете API).

Минуси: -деградация на производителността, когато наличността има проблеми с външен API. -outage поради промени във външния API (докато вашият код не бъде актуализиран, за да отрази тези промени). -заключване с външен доставчик.

Локална база данни

Някои ресурси: - http://developer.yahoo.com/geo/geoplanet/data/ - http://www.maxmind.com/app/geolitecity - http://download.geonames.org/export/dump/

Професионалисти: - няма външна зависимост: подобрена стабилност и производителност.

Минуси: -още работа, за да започнете (трябва да създадете базата данни и код, за да взаимодействате с нея). -рискове от неточни / непълни данни, първоначално или с течение на времето. -още поддръжка за поддържане на базата данни актуална.

Ако приемем, че информацията за дълбочина, поискана от потребителите, е както следва: -страна: интересува се от стойност. също се използва за стесняване на списъка с региони. -регион (щат в САЩ, окръг във Великобритания ...): не се интересува от самата стойност, използва се само за стесняване на списъка с градове. -град: интересува се от стойност (която може да се използва за изработване на свързан регион, ако имаме нужда от регионална статистика). -адрес: интересува се от стойността, макар и ПО избор.

Коя опция (дали API или local database) бихте ли избрали? Какви съвети бихте дали за изпълнението? Какви други ресурси можете да споделите?

Докато моят IP е динамичен (DHCP), той никога не е точен за моя град, понякога градът може да бъде на 60 мили. Ако приложението принуждава потребителите към този град, ще имате висока степен на отпадане.

Най-добре е да използвате базата данни MaxMind IP to Country, която се съхранява локално и е по-бърза от API. Съберете страната на IP зад кулисите, не принуждавайте потребителя да го предостави. След това съберете региона от друга база данни, отново не когато потребителите се регистрират.

Когато искате този тип информация от потребител и се опитвате автоматично да я генерирате и сравните с база данни, ще срещнете много хора, напускащи вашия сайт. Какво се случва с хора, които стоят зад прокси, VPN или работят с Tor?

  • What happens for people who are behind proxies, VPN's, or running Tor? Вярвам, че това представлява пренебрежима част от интернет потребителите като цяло.
  • Не бих пренебрегнал потребителите, защото те стоят зад корпоративни защитни стени, прокси или други подобни. AOL за много дълго време потребителски прокси и това беше за всички техни комутируеми потребители.

Бих подчертал отново значението на валидирането на информацията, която събирате. В крайна сметка, ако е достатъчно важно да го съберете, по-добре се уверете, че е правилно спрямо правилните органи / източници. Ако не е така че важно, защо изобщо да го събираме и да натоварваме потребителя?

Работя за SmartyStreets, където проверяваме местоположението на потребителите, по-специално техните адреси, и затова реших редица проблеми като тези. След това бих предположил, че API е най-надеждното решение за осигуряване на стойност за вас. С други думи, от списъците ви за и против разликата е ясна: изграждането на локална база данни е много по-скъпо от потенциалните, минимални странични ефекти от използването на професионален API.

Един от най-ефективните начини за постигане на точно геолокация на потребителя е чрез събиране на конкретни, правилно информация от тях. Докато много хора събират адреси, малцина се уверяват, че действително съществува правилен адрес. Google и Yahoo и подобни услуги не предоставят това: внимавайте те да изпълняват адрес приближение не проверка, а техните резултати са най-добрите предположения.

За американски адреси USPS CASS-сертифицира шепа доставчици, за да предоставят своите авторитетни данни за адрес и местоположение на други хора. Можете сами да потърсите в Google, но това, което търсите, е нещо като API на LiveAddress, който ще провери и геолокира адресите в САЩ.

Мога да ви кажа, че сме инвестирали значителна ресурси за изграждане и поддържане на базата данни, рискове и други минуси, които споменахте за изграждането на собствена база данни. Също така се справихме с недостатъците, които изброихте за API. Вижте SLA за подробности и имайте предвид, че ние сме единственият доставчик, чийто API е георазпределен в 3 излишни центъра за данни, за да осигури производителност и ъптайм. С други думи, това е пламнало бързо и заявките се обработват паралелно.

Използването на съвременни (HTML5 и т.н.) функции за геолокация са точни до известна степен, но дори и в момента тяхната съвместимост е ограничена до по-модерните браузъри в идеални настройки (израснах в Айова, където геолокацията е далеч от градските райони). Но получаването и потвърждаването на адреса на потребителя е сигурен начин да получите това, от което се нуждаете, ако това наистина е необходимо. Това бих направил.

Има два подхода, ако искате да получите достъп до данните за страната, региона и града на посетителите си с оптимален адрес.

Първо, можете да използвате услуги за геолокация на IP. Той открива местоположенията на вашите посетители въз основа на техните IP адреси. Това е доста лесно, но са налични само данни на ниво държава / щат / град. Също така такива данни няма да бъдат точни, ако посетителите използват VPN или прокси (което присвоява на посетителите IP, сочещ към друго физическо местоположение вместо реални местоположения). Сред провеждането на маркетингова стратегия тя все още е доста популярна.

Второ, ако точността е ваш приоритет, можете да помислите за HTML5 API за геолокация. Той има достъп до точните данни за географска ширина / дължина на вашите посетители. Можете да приложите API за геокодиране, за да получите допълнително подробни данни за местоположението на посетителите си, дори с адрес на улицата. Ограничението е, че се нуждае от разрешение на посетителите, споделящо местоположението им. Някои потребители може да не желаят. Освен това все още не се поддържа широко от всички браузъри.

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?