четверг, 23 февраля 2012 г.

Использование Google Analytics в Android приложении

После того как вы создали и опубликовали своё приложение для Android, наступает приятный и интересный этап: вы наблюдаете, как к вам стекаются первые пользователи. Этот этап редко обходится без открытий и разочарований: клиенты ведут себя совсем не так как ожидалось.
Как же они ведут себя в приложении? Ответ на этот вопрос позволит скорректировать интерфейс и стратегию разработки, иначе подойти к продвижению продукта, если это необходимо. 
Инструментов для сбора статистики в мобильных приложениях достаточно много, но нам после разработки под web привычнее Google Analytics, да и интеграция в приложение у него, как мы увидим сейчас, предельно проста.

Во-первых скачиваем библиотеку для интеграции функционала Google analytics в наше Android-приложение и подключаем libGoogleAnalytics.jar к проекту. Для работы бибилиотеки в AndroidManifest.xml нашего проекта нужно будет добавить запрос разрешений:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Во-вторых, создаём проект в Google Analytics, при этом url сайта можно указать любой. Из созданного проекта нам понадобится только "идентификатор отслеживания" вида UA-ХХХХХХХХ-Х.
И в-третьих, пишем код:

public class TestActivity extends Activity {
 
  GoogleAnalyticsTracker tracker;
 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
 
    tracker = GoogleAnalyticsTracker.getInstance();
    tracker.startNewSession("UA-YOUR-ACCOUNT-HERE", 10, this);
 
    setContentView(R.layout.main);
 
    Button b = (Button)findViewById(R.id.TestButton);
    b.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        tracker.trackPageView("/click_on_"+b.getText());
      }
    });
  }
 
  @Override
  protected void onDestroy() {
    super.onDestroy();
    tracker.stopSession();
  }
}

Принцип работы, как видим, предельно прост. Перед отслеживанием событий создаём сессию, указывая наш идентификатор и время в секундах, которое определяет задержку, с которой данные будут отправлены на сервер. Задержка позволяет исключить влияние сетевых "тормозов" на работу приложения в момент, когда пользователь что-то делает, а значит ожидает мгновенной реакции.
Можно инициировать сессию без указания времени задержки. В этом случае данные не будут отправляться в Google Analytics автоматически и можно вызвать метод tracker.dispatch() для отправки данных в определённый момент.
Останавливаем сессию в методе onDestroy() нашего Activity.
Описанный выше способ позволит отслеживать любые действия клиента в интерфейсе самым простым способом. Библиотека может гораздо больше: например передавать с отслеживаемым событием произвольный набор данных и т.п. Полное описание всех способов использования можно найти в официальной документации.

Комментариев нет:

Отправить комментарий