Geo-Targeted-ADS
Прежде всего - о том, что же означает фраза Geo-Targeted Banner ADS...
Автор неоднократно замечал интерес аудитории различных форумов - к скриптам, позволяющим показывать таргетированную рекламу исходя из местоположения посетителя, определяемого по ip-адресу. Да, именно тот случай; центральная картинка на каждой страничке этого сайта кликабельна, выбирается случайным образом из нескольких, распределенных по нескольким каталогам.
Излишне говорить, что четыре двухбуквенных ISO-кода в качестве названий директорий на скриншоте (для всех иных визитеров показываются картинки из каталога other) - совершенно не предел, хоть сотню папок поместите в каталог images. Логика при этом сохранится: все, кто не распознан как представитель одного из георасположений - получат баннер из папки other
Target users in different countries
На данный момент определение геотаргетинга посетителя решено посредством использования сервиса iplocate.io:
url = 'https://www.iplocate.io/api/lookup/' + remote_ip(ip) # + '?apikey=your_api_key' response = Net::HTTP.get(URI.parse(url))
Но, разумеется, ничто не мешает использовать любой другой.
UPD. Заменил iplocate.io на GeoCoder, по умолчанию используемый аналитикой Ahoy. Соответственно, получаем страну пользователя еще проще:
def country current_visit.country end
Учтите, переключение между проксями с целью тестирования функционала теперь не столь просто, как раньше: сайт запоминает и группирует ваши посещения подробнее см. в Статистике. Как вариант решения для тестеров - чистить cookies.
activeadmin (6) админка (6) geo-targeted (2)Add a comment:
Примечание. Клик по центральному баннеру открывает указанный в application.yml один-единственный веб-ресурс сейчас, и этим данный функционал пока что исчерпывается. На этот счет у каждого сайтовладельца свои собственные пожелания, и они очень несложно реализуемы. Но, пожалуй, не имеет смысла искать универсальное базовое решение "из коробки".