У нас в компании приняли решение добавить Google Analytics в одно из наших мобильных приложений. Почти сразу же я нашёл решение для J2ME, но вот только готового решения для Bada я так и не нашёл. Так как Google Analytics API – это всего лишь HTTP запросы с правильными параметрами, то нам осталось только реализовать это под Bada.
Итак начнём:
Всё что нам потребуется это реализовать два запроса: PageView, Event.
Для этого я выбрал архитектуру принятую в аналогичном решении для J2ME
Классы PageView и Event унаследованы от базового класса Request и переопределяют метод url. Url формируется из набора параметров, которые собираются в классе TrackingUrl. Класс Tracker является менеджером к нашим запросам. С класса Tracker осуществляется запуск запросов PageView и Event по мере их поступления – метод AddRequestToQueue. В одно и тоже время класс Tracker может послать только один запрос. Поэтому лучше всего создать глобальную переменную типа Tracker на уровне проекта.
Последовательность действий, запуска запроса, можно представить в виде следующей схемы:
В тестовом примере, я добавил 2 кнопки на форму, которые запускают PageView или Event запросы соответственно. PageView запрос служит для введения статистики о посещении страниц (форм) в вашем приложении. Пример запуска запроса PageView:
Где pageTitle – это название или заголовок вашей
страницы(формы).
Event запрос служит для введения статистики о действиях ваших пользователей в приложении. Например, Вы, можете вести учет как часто пользователь вашего приложения нажимает на ту или иную кнопку. Пример запуска запроса Event:
Где category – название категории, action – пользовательское действие (например: select, clicked и т.д.), label – дополнительные данные о пользовательском действии.
Здесь Вы можете загрузить тестовый проект со всеми исходными кодами. Только не забудьте добавить свой “tracking code”!
Надеюсь, что данный пост будет полезен для разработчиков под мобильную платформу Bada.
Буду рад комментариям и дополнениям.
Итак начнём:
Всё что нам потребуется это реализовать два запроса: PageView, Event.
Для этого я выбрал архитектуру принятую в аналогичном решении для J2ME
Классы PageView и Event унаследованы от базового класса Request и переопределяют метод url. Url формируется из набора параметров, которые собираются в классе TrackingUrl. Класс Tracker является менеджером к нашим запросам. С класса Tracker осуществляется запуск запросов PageView и Event по мере их поступления – метод AddRequestToQueue. В одно и тоже время класс Tracker может послать только один запрос. Поэтому лучше всего создать глобальную переменную типа Tracker на уровне проекта.
Последовательность действий, запуска запроса, можно представить в виде следующей схемы:
В тестовом примере, я добавил 2 кнопки на форму, которые запускают PageView или Event запросы соответственно. PageView запрос служит для введения статистики о посещении страниц (форм) в вашем приложении. Пример запуска запроса PageView:
String pageTitle = "Main page";
request = new PageView(pageTitle);
// Send "PageView" request
pTracker->AddRequestToQueue(request);
Где pageTitle – это название или заголовок вашей
страницы(формы).
Event запрос служит для введения статистики о действиях ваших пользователей в приложении. Например, Вы, можете вести учет как часто пользователь вашего приложения нажимает на ту или иную кнопку. Пример запуска запроса Event:
String category = "Category";
String action = "Select";
String label = "Event button";
// Send "Event" request
request = new Event(category, action, label, 0);
pTracker->AddRequestToQueue(request);
Где category – название категории, action – пользовательское действие (например: select, clicked и т.д.), label – дополнительные данные о пользовательском действии.
Здесь Вы можете загрузить тестовый проект со всеми исходными кодами. Только не забудьте добавить свой “tracking code”!
// TODO: Add your tracking code here
String trackingCode = "Enter your tracking code here!";
pTracker = new Tracker();
Надеюсь, что данный пост будет полезен для разработчиков под мобильную платформу Bada.
Буду рад комментариям и дополнениям.