Сбор аналитики для iPhone приложения
Привет, %username%
Многие из вас хотели бы знать, а многие наверно уже знают, сколько времени пользователь проводит за вашей программой, какими фичами пользуется часто, а какими всего раз в жизни, так же полезно было бы знать где живут ваши пользователи, зачем? Как минимум для улучшения локализации приложения(к примеру людям живущим во Франции, будет приятнее читать на французском, чем на английском). С этого вводная часть заканчивается, приступим к внедрению аналитики в свое приложение!
Первое что нам нужно сделать, это зарегистрироваться здесь и создать свой первый проект.
1) Выбираем «Create a New App», после чего заполняем обязательные поля — команду разработчиков, название приложения, его версию и категорию продукта. Все остальные пункты — по вашему желанию и усмотрению :)
2) После успешного добавления приложения, надо создать его версию! Для этого внизу будет ссылка Add Version, где мы указываем платформу — iPhone(как раз то, что нам нужно), Android (SDK обещают выпустить в скором обозримом будущем) или другую платформу. Дальше — Версию программы, это как раз та, которую мы будем использовать в нашем приложении, для записи аналитики. И наконец дату релиза. Также не забудьте запомнить, где находится уникальный ID для вашего приложения, он выглядит примерно так:
ID: 8ac5b4614774458e096c53a6d8bfd66de8f7fcbd
(всякое совпадение ID с реальными — случайно!)
3) После этой минутной возни с бумагами, мы должны скачать собственно SDK!
Заходим в Downloads и скачиваем последнюю версию, на сегодня это 2.0.37.
Второе что надо сделать, это подключить либу в нашу программу, это делается всего в несколько кликов:
1) libMMTracking.a подключаем в список фреймворков
2) MMEvent.h и MMTrackingMgr.h в список хидеров проекта
3) Из-за особенностей либы, надо к фреймворкам еще подключить четыре библиотеки, а именно: «libz.1.2.3.dylib», «libsqlite3.0.dylib», «CoreLocation.framework» и «SystemConfiguration.framework»
пока не сложно, правда? Тогда поехали дальше:
4) Открываем свой info-plist файл и добавляем такую строчку:
MMAppID, куда и записываем тот самый ID, что получили при создании проекта
5) Дальше смотрим на строчку «Bundle version», ее значение должно соответствовать версии указаной на сайте!
Все, теперь у нас все готово к тому, что бы приступить к сбору аналитики!
Итак открываем файл с имлементацией делегата, и копируем туда вот такой вот код:
Вот и все! Мы включили базовый сбор информации что включает в себя такие пункты:
1) Время запуска и завершения приложения
2) Тип и модель устройства
3) Версию ОС
4) Уникальный ID устройства
5) Версию вашего приложения
6) Географические координаты места, откуда была запущена ваша программа (этот пункт отключаем)
Из базового сбора, отключаем только 6-й пункт, все остальные собираются в БД, и отправляются на сервер как только телефон находит активное соеденение. Если 6-й пункт не отключить, то у пользователя потребуется разрешение на отправку своего местоположения.
Теперь спустя 36-ть часов (я сначала думал что что-то не так делаю!) На сайте в разделе App Reports, мы сможем наблюдать вот такую вот картину:

Сбоку, как видно, можно пройтись по разным закладкам, и посмотреть на графики, если цифр мало ;)
В посте не упоминается создание собственных событий, с помощью которых можно отслеживать использование интерфейса и прочую статистику. Надеюсь об этом в следующий раз!
P.S: Вместе с SDK идет замечательная документация на все случаи жизни :)
UPD1: Спасибо НЛО за инвайт.
UPD2: Спасибо за карму, перенес в соответствующий блог.
Многие из вас хотели бы знать, а многие наверно уже знают, сколько времени пользователь проводит за вашей программой, какими фичами пользуется часто, а какими всего раз в жизни, так же полезно было бы знать где живут ваши пользователи, зачем? Как минимум для улучшения локализации приложения(к примеру людям живущим во Франции, будет приятнее читать на французском, чем на английском). С этого вводная часть заканчивается, приступим к внедрению аналитики в свое приложение!
Первое что нам нужно сделать, это зарегистрироваться здесь и создать свой первый проект.
1) Выбираем «Create a New App», после чего заполняем обязательные поля — команду разработчиков, название приложения, его версию и категорию продукта. Все остальные пункты — по вашему желанию и усмотрению :)
2) После успешного добавления приложения, надо создать его версию! Для этого внизу будет ссылка Add Version, где мы указываем платформу — iPhone(как раз то, что нам нужно), Android (SDK обещают выпустить в скором обозримом будущем) или другую платформу. Дальше — Версию программы, это как раз та, которую мы будем использовать в нашем приложении, для записи аналитики. И наконец дату релиза. Также не забудьте запомнить, где находится уникальный ID для вашего приложения, он выглядит примерно так:
ID: 8ac5b4614774458e096c53a6d8bfd66de8f7fcbd
(всякое совпадение ID с реальными — случайно!)
3) После этой минутной возни с бумагами, мы должны скачать собственно SDK!
Заходим в Downloads и скачиваем последнюю версию, на сегодня это 2.0.37.
Второе что надо сделать, это подключить либу в нашу программу, это делается всего в несколько кликов:
1) libMMTracking.a подключаем в список фреймворков
2) MMEvent.h и MMTrackingMgr.h в список хидеров проекта
3) Из-за особенностей либы, надо к фреймворкам еще подключить четыре библиотеки, а именно: «libz.1.2.3.dylib», «libsqlite3.0.dylib», «CoreLocation.framework» и «SystemConfiguration.framework»
пока не сложно, правда? Тогда поехали дальше:
4) Открываем свой info-plist файл и добавляем такую строчку:
MMAppID, куда и записываем тот самый ID, что получили при создании проекта
5) Дальше смотрим на строчку «Bundle version», ее значение должно соответствовать версии указаной на сайте!
Все, теперь у нас все готово к тому, что бы приступить к сбору аналитики!
Итак открываем файл с имлементацией делегата, и копируем туда вот такой вот код:
#import «MMTrackingMgr.h»
@implementation <название вашего класса>
+ (void)initialize
{
[ [ MMTrackingMgr sharedInstance ] startDefaultTracking ];
}
* This source code was highlighted with Source Code Highlighter.Вот и все! Мы включили базовый сбор информации что включает в себя такие пункты:
1) Время запуска и завершения приложения
2) Тип и модель устройства
3) Версию ОС
4) Уникальный ID устройства
5) Версию вашего приложения
6) Географические координаты места, откуда была запущена ваша программа (этот пункт отключаем)
Из базового сбора, отключаем только 6-й пункт, все остальные собираются в БД, и отправляются на сервер как только телефон находит активное соеденение. Если 6-й пункт не отключить, то у пользователя потребуется разрешение на отправку своего местоположения.
Теперь спустя 36-ть часов (я сначала думал что что-то не так делаю!) На сайте в разделе App Reports, мы сможем наблюдать вот такую вот картину:

Сбоку, как видно, можно пройтись по разным закладкам, и посмотреть на графики, если цифр мало ;)
В посте не упоминается создание собственных событий, с помощью которых можно отслеживать использование интерфейса и прочую статистику. Надеюсь об этом в следующий раз!
P.S: Вместе с SDK идет замечательная документация на все случаи жизни :)
UPD1: Спасибо НЛО за инвайт.
UPD2: Спасибо за карму, перенес в соответствующий блог.



комментарии (14)