Сбор аналитики для 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», ее значение должно соответствовать версии указаной на сайте!

    Все, теперь у нас все готово к тому, что бы приступить к сбору аналитики!

    Итак открываем файл с имлементацией делегата, и копируем туда вот такой вот код:

    #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, мы сможем наблюдать вот такую вот картину:
    image
    Сбоку, как видно, можно пройтись по разным закладкам, и посмотреть на графики, если цифр мало.

    В посте не упоминается создание собственных событий, с помощью которых можно отслеживать использование интерфейса и прочую статистику. Надеюсь об этом в следующий раз!

    P.S: Вместе с SDK идет замечательная документация на все случаи жизни.

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 14

      –2
      Они следят за нами (с) Или пишем троян в домашних условиях. Я надеюсь, что sdk предполагает галочку отключения этой всей радости, а ещё лучше наоборот включения.
        0
        Из того что агрегируется через базовое включение можно отключить только сбор географических координат. Все остальные пункты не отключаемы. Если же его не отключить, то пользователю будет дан выбор отправлять или нет данные о его месте нахождения.
        0
        Занятно, спасибо :) Если наберете +, то можно в блог «Разработка под Mac OS X и iPhone», думаю там многим это будет интересно :)
          0
          Пожалуйста! Рад что понравилось. Туда и планирую перенести :)
          –1
          Недавно прочел статью, где точно не помню! Что какая-то компани (точно не помню, кажется ngmoco ) собрала базу id девайсов и личную информацию! И возник прициндент! Как найду статью обязательно кину линк!

          Хочу сказать, что не известно какую информацию можно брать. Может нелегальное отслеживание уже стать прициндентом т.к. не спрашиваем у пользователя! Не зря при запуске приложение «Maps» оно интересуется у вас об этом!

          Стоит задуматься и покопать!
            0
            сорри комменты не дочитал, а в статье нету
            укажи в статье, что спрашивается у пользователя
            0
            Ок, сейчас подправим! А на счет прецедента, в LA можно указывать что ведется сбор данных пользованием программы, в целях улучшения юзабилити, etc.
              0
              Google Analytics для мобильных платформ.
                0
                Спасибо, я знаю об этом. Но я не ставил себе целью сделать сравнение этих библиотек. А только рассказать об этой конкретной.
                  0
                  Так я для остальных пользователей, которые может быть не знают, я вот например до недавнего времени был не в курсе. В итоге совершенно напрасно писал свою систему.
                    0
                    Извиняюсь, малость не так понял. Сам узнал об этих продуктах в один день. Но высшее начальство захотело остановится на Medialets. Может кому-то захочется воспользоваться Google Analytics.

                    P.S: Было бы хорошей идеей сравнить их
                0
                Может сделаете обзор большинства доступных? Включая Beacon и Google Analytics.
                  0
                  Сначала я ознакомлюсь с Beacon в свободное время, а там посмотрим, думаю ближе к выходным что нибудь да придумаю.
                  0
                  Статья полезная, но проще использовать Flurry. Вся необходимая статистика и всевозможные логи.

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое