Динамическая генерация QR-кодов, используя Google Chart API. Формат vCard

В чем удобство и преимущество QR-кода? В том, что его можно быстро распознать и использовать, с помощью специальных приложений в мобильных устройствах. Поэтому QR-код обрел такую большую популярность. В QR-код можно закодировать, например, адрес сайта, email, полную контактную информацию, географические координаты и т.д. Я рассмотрю способ генерации QR-кода, который содержит контактную информацию в формате vCard, используя Google Chart API. Пример полученного кода ниже (закодированы контактные данные вымышленного человека). Попробуйте распознать этот код с помощью своего смартфона — приложение предложит добавить данные в адресную книгу.

qr-code

Ну как? По моему, это круто! Не нужно вбивать вручную контакты человека, нужно просто распознать QR-код.  Давайте детально разберем, как у нас так получилось.

Формат vCard

vCard — это специальный формат, который разработан для обмена контактными данными (визитками) в электронном виде. В него могут быть добавлены: email, телефон, адрес сайта, дата рождения, фото, аудио-данные и др. Пример данных, которые мы закодировали в QR-код в формате vCard:

BEGIN:VCARD
VERSION:3.0
FN:Иван Иванов
ADR:ул. Артема, 1; Донецк; Донецкая область; Украина
TEL;TYPE=WORK:+380501111111
CATEGORIES:Бизнес
URL:http://google.com.ua
END:VCARD

Более подробнее об этом формате читайте тут.

Google Chart API

Эти данные в формате vCard далее в качестве параметра передаем в Google Chart API и на выходе получаем QR-код. Синтаксис обращения к API такой:

https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=<текст>

Параметры, которые передаются:

  • chs — размер картинки в пикселях
  • chl — данные, которые будут закодированы в QR-код.

Итак, мы получили QR-код, содержащий контактные данные, которыми удобно обмениваться. Как Вы думаете, где еще можно использовать данный метод?

Рубрика: php, Без рубрики | Метки: , , , | 1 комментарий

Геолокация. Как получить географические координаты пользователя из его браузера, используя HTML5?

Всем привет! После длительного перерыва возобновляю публикацию интересных постов в свой блог. Сегодня я хочу затронуть тему геолокации — получение местоположение пользователя, то есть географических координат: ширину и долготу. Эти данные можно получить из браузера пользователя, используя Geolocation API (ссылка на спецификацию). Браузеру эти данные доступны из разных источников: IP адрес, GPS датчик устройства, WiFi и Bluetooth MAC адреса и через GSM вышки для мобильных устройств. Геолокационные данные — это приватные данные, поэтому они не доступны пока пользователь не даст разрешение на их использование. Вы можете увидеть пример работы этого API, для этого нажмите кнопку ниже.


Посмотрите исходный код этой страницы для того, чтобы увидеть как это все работает. При нажатии на кнопку идет проверка — поддерживает ли Ваш браузер функцию геолокации. Если да, то вызывается функция из API getCurrentPosition с двумя параметрами: первый — имя функции, которая будет вызвана при успешном получении данных, второй — имя функции, которая будет вызвана при ошибке (например, пользователь запретил доступ к данным и т.п.). При успешном исходе нам будут доступны географическая широта и долгота (например, «50.4501, 30.5234»). Где использовать эти данные? Вариантов масса: при построении маршрута проезда к Вашему офису; для показа, что находится рядом; для поиска ближайшего заведения; для определения города пользователя и даже адреса, используя обратное геокодирование в Google Maps API — все зависит от бизнес-логики вашего приложения или сайта.

Какие браузеры поддерживают геолокационное API

Это IE 9+, Firefox 3.5+, Chrome 5.0+, Safari 5.0+ and Opera 10.6+. Из мобильных девайсов — iPhone 3.0+ и Android 2.0+ (для мобильных устройств с GPS данные будут самые точные). То есть у большинства пользователей все будет отлично работать.

Рубрика: html5 | Метки: , | Комментарии (7)

Отслеживание заполнения форм в Google Analytics

У любого сайта есть определенная цель, ради которой он создавался. Для интернет-магазина — это продажа товаров. Для сайта компании — это знакомство с перечнем ее услуг и поиск потенциальных клиентов, готовых воспользоваться ими. Для информационных порталов — это просмотр максимального количества страниц, так как от этого зависит количество рекламы, которую они смогут отобразить. Чтобы направлять рекламные бюджеты в правильное русло, владельцу сайта нужно понимать, какие рекламные каналы дают наибольший показатель ROI (return of investments — возврат инвестиций). Поэтому на сайте следует отслеживать целевые действия пользователей (для каждого типа сайта они свои), например, такие как: скачивание прайс-листа, просмотр страницы «Контакты», заказ товаров, заполнение формы обратной связи, заполнение формы заказа услуги и т.д. Все эти целевые действия можно отслеживать с помощью целей Google Analytics. Я хочу рассмотреть варианты настройки целей, для отслеживания успешного заполнения форм на сайте с помощью Google Analytics.

Редирект на отдельную страницу

Если на сайте при успешной отправке формы есть переход на отдельную страницу «/thank_you.html» с благодарностью, то в качестве цели следует установить тип цели «Переход по URL», а в «Целевой URL» записать соответствующий URI.

Настройка целей при редиректе на отдельную страницу

Но переход при отправке формы на отдельную страницу есть не всегда. CMS сайта может возвращать результат на той же странице либо форма может отправляться с помощью AJAX. Как настроить цель в таком случае? Есть два варианта: генерация виртуального просмотра или события.

Виртуальный просмотр страницы в Google Analytics

В этом случае при успешном заполнении формы мы в Google Analytics регистрируем виртуальный просмотр страницы (такой способ я уже описывал ранее для отслеживания переходов по внешним ссылкам). Синтаксис этого функционала следующий:

_gaq.push(['_trackPageview','/thank_you.html']);

Теперь можно настроить цель аналогично, как и при переходе на отдельный URL.

Нужно сказать, что у этого варианта есть недостаток. Такой способ «смазывает» отчеты, связанные с просмотрами страниц. Например, будет неточным параметр, сколько в среднем страниц за посещение просматривают пользователи, а также отчеты по все просмотрам страниц сайта. Если Вы хотите избежать таких неточностей, то следует использовать события в Analytics.

События (events)

Здесь при отправке формы следует зарегистрировать событие. Пример, как это можно сделать, ниже:

_gaq.push(['_trackEvent', 'Zapolnenie Formy', 'Otpravka']);

Теперь данные по заполнению форм будут доступны в отчете «События» раздела «Содержание». Чтобы настроить отслеживание этого события в качестве цели нужно в настройках цели выбрать:

  • Тип цели — «Событие»
  • Категория — идентичные «Zapolnenie Formy»
  • Действие — идентичные «Otpravka»

Настройка целей при регистрации собятия

Теперь у Вас будет возможность отслеживать отправку форм на сайте. Эти отчеты доступны по следующему пути «Конверсии» — «Цели».

Способы отслеживания целей, описанные в этом посте, можно использовать для различных случаев. Например, для любых AJAX событий, Flash сайтов и медиа-плееров, количества скачивания файлов, времени загрузки страниц, отслеживания ошибок javascript и т.д.

Уверен, что правильно настроенные цели помогут Вам в получении максимального результата от сайта.

Рубрика: google analytics | Метки: , , | Комментарии (7)

RSS каналы популярных социальных сетей

Иногда возникает необходимость в проектах, в разработке которых я принимаю участие, получать данные их социальных сетей. Одним из «дедовских» способов является получение данных через RSS. Я уже ранее писал об использовании RSS Twitter. В данном посте я приведу более полный список ссылок на RSS соцсетей, которые Вы можете использовать в своих проектах либо просто подписаться на них и использовать их в своих целях.

Читать далее

Рубрика: Без рубрики | Метки: , , , | Добавить комментарий

Как стать сертифицированным специалистом Google Adwords?

Ответ прост :-). Нужно сдать экзамены для проверки уровня знаний системы Adwords. Всего программа сертификации включает 4 экзамена:

  1. по основам рекламы в Google;
  2. по рекламе в поисковой сети для продвинутого уровня;
  3. по медийной рекламе для продвинутого уровня;
  4. по отчетности и анализу для продвинутого уровня.

Первый экзамен обязателен. А остальные три, при успешной их сдаче, позволяют Вам получить сертификат в соответствующей теме экзамена области. То есть можно получить три сертификата: по рекламе в поисковой сети, по медийной рекламе, по отчетности и анализу. Я именно так и сделал. Теперь расскажу о самих экзаменах и о том, как я к ним готовился. Читать далее

Рубрика: Без рубрики | Комментарии (13)

Как получить количество лайков, твитов, google +1 для URL с помощью PHP?

Социальные сети для большинства людей являются неотъемлемой частью их повседневной жизни. На данный момент самыми популярными социальными сетями в мире являются: Facebook, Twitter, Вконтакте и Google +1. Рядовой пользователь по статистическим данным в сети Facebook проводит в среднем около 7 часов в месяц. В остальных соцсетях проведенное время также исчисляется часами. Нам, как веб-разработчикам и интернет-маркетологам, для решения своих задач нужно знать максимум параметров, которые используются в современных «пожирателях времени». И в этом посте я хочу привести примеры кода, которые позволят получать количество лайков, твитов, google +1 для веб страницы. Читать далее

Рубрика: php | Метки: , , , | 1 комментарий

Как парсить информацию из Twitter?

Импортировать информацию из Twitter можно различными способами. Можно получать твиты определенного пользователя, твиты, которые находятся у него в избранном,  упоминания пользователя в твитах, твиты с заданным хештегом и т.д. Я рассмотрю один из простейших способов импорта. С помощью RSS.

импорт информации из Twitter

Итак, доступные RSS для импорта из Twitter:

1. https://twitter.com/statuses/user_timeline/<user_name>.rss — содержит 20 последних записей пользователя.

UPDATE. Теперь следует обращаться к RSS так https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=<user_name> Например, записи Святослава Вакарчука.

2) http://search.twitter.com/search.rss?q=to:@<user_name> — здесь содержаться последние упоминания об twitter аккаунте пользователя. Например, упоминания о том же знаменитом украинском певце.

3) https://api.twitter.com/1/favorites/<user_name>.rss — последние твиты, которые пользователь добавил в избранное. Для примера список из моего избранного.

4) http://search.twitter.com/search.rss?q=<query> — вместо <query> можно подставить любое значение и получить твиты, в которых есть указанное значение. Также можно сделать поиск по хештегу. Например, последние записи с Олимпиады в Лондоне.

Итак, у нас есть RSS. Его мы можем использовать так, как нам удобно. В PHP с помощью функции simplexml_load_file можем rss-файл интерпретировать в объект и проводит манипуляции, которые предусмотрены бизнес-логикой приложения.

P.S. Следуйте за мной в Twitter и подписывайтесь на обновления записей моего блога через Feedburner.

Рубрика: php | Метки: , | Комментарии (3)

Оптимизация сайта на Drupal

Мне пришлось делать внутреннюю seo-оптимизацию сайта, написанного на CMS Drupal. До этого я думал, что Drupal — это непонятный монстр и мне придется долго его укрощать, чтобы добиться нужного результата. Но все оказалось (как и все гениальное) достаточно просто.

Читать далее

Рубрика: seo | Метки: , , | Добавить комментарий

Как «заставить» работать ссылки со старых проиндексированных страниц?

Всем привет! Это мой первый пост в 2012 году. Как известно, ссылки являются одним из значимых факторов в продвижении сайта. Я хотел бы с Вами поделиться, как заставить ссылки передавать максимальный вес, когда Вы их ставите на давно проиндексированных страницах сайтов. Читать далее

Рубрика: seo | Метки: , , | Комментарии (2)

Кто управляет русским Интернетом?

Русский Интернет или сокращенно Рунет — это специфическое место во всемирной паутине, объединяющее русскоговорящих пользователей. «Управлять» означает контролировать и определять ход или деятельность чего-либо; руководить кем-либо. Итак, кто же управляет РУНЕТом?

Читать далее

Рубрика: Без рубрики | Добавить комментарий