6 May 2011

Отслеживание продаж при помощи Google Analytics

Development for Android
Пытаясь придерживаться традиции, публикую перевод очередной статьи из блога разработчиков android-developers. На этот раз статья посвящена отслеживанию продаж внутри приложений при помощи Google Analytics Android SDK.

Почему это важно?


Если вы распространяете некие товары через своё приложение, то, скорее всего, вы захотите узнать, каков реальный доход, генерируемый продажами. А также, например, список самых популярных или самых продаваемых товаров.


Прежде, чем начать


Сначала, вам нужно настроить для использования Google Analytics Android SDK. Если вы этого еще не сделали, то ознакомьтесь с документацией по SDK. Далее подразумевается, что вы настроили ваше приложение на взаимодействие с SDK. Также, будем считать, что в своём коде вы уже объявили «отслеживающий» объект Google Analytics:

GoogleAnalyticsTracker tracker;


Объект должен быть инициализирован в методе onCreate(), и для него вызван метод start()

tracker = GoogleAnalyticsTracker.getInstance();
tracker.start("UA-YOUR-ACCOUNT-HERE", 30, this);


Отслеживание транзакции


Лучшим местом для отслеживания отдельной транзакции, будет подтверждение о покупке. Допустим, что у вас есть метод, вызываемый после подтверждения покупки. Отслеживающий код нужно поместить туда:

public void onPurchaseConfirmed(List purchases) {
 // Здесь используйте Google Analytics для записи информации о продаже
}


Google Analytcs SDK предоставляет объект транзакции (Transaction) для хранения всей информации, которую нужно собрать. Следующим шагом будет копирование информации из списка объектов покупок (PurchaseObjects) в объект транзакции (Transaction).

Объект трансакции использует паттерн строитель, в котором конструктору нужно передать требуемые аргументы, а остальные аргументы устанавливаются опционально при помощи сеттеров:

Transaction.Builder builder = new Transaction.Builder(
   purchase.getOrderId(),
   purchase.getTotal())
       .setTotalTax(purchase.getTotalTax())
       .setShippingCost(purchase.getShippingCost()
       .setStoreName(purchase.getStoreName());


Теперь можно передать информацию объекту транзакции:

tracker.addTransaction(builder.build());


Отслеживание всех частей транзакции


Следующий шаг — отслеживание частей транзакции. Это чем-то похоже на отслеживание отдельной транзакции. Используйте класс Item из Google Analytics SDK. Google Analytics использует OrderID как общий идентификатор для ассоциации множества items'ов в транзакции. У каждого объекта продажи (PurchaseObjects) есть свой список item'ов. По ним можно пройтись элементарным итератором:

for (ListItem listItem : purchase.getListItems()) {
  Item.Builder itemBuilder = new Item.Builder(
      purchase.getOrderId(),
      listItem.getItemSKU(),
      listItem.getPrice(),
      listItem.getCount())
          .setItemCategory(listItem.getItemCategory())
          .setItemName(listItem.getItemName());

  // Теперь добавляем элемент к нашему отслеживателю. orderId - ключ
  // Google Analytics использует его для ассоциации элементов с транзакцией.
  tracker.addItem(itemBuilder.build());
}


Отправление данных к Google Analytics


После того как все транзакции и элементы были добавлены, можно вызвать метод:

tracker.trackTransactions();


И это отправит ваши данные в Google Analytics.

Просмотр отчетов


После того как данные были собраны, можно посмотреть отчеты через Conversions -> Ecommerce -> Product Performance.

image

Вы увидите какие доходы вам приносят отдельные товары. Сможете выделить наиболее «ходовые» и так далее. На картинке видно, что народ покупает много зелий, которые и генерят основной доход :-)
Также видно, что синие мечи покупают чаще красных, что означает, что народу больше нравится синие вещи; и не нужно добавлять в приложение много красных.

Заключение


Больше об этом SDK можно узнать из документации. Также обещается, что на предстоящем I/O будет сессия посвященная использованию Google Analytics в приложениях для Android.
Tags:андроидandroidcommerce trackinggoogle analytics
Hubs: Development for Android
+18
6.8k 50
Comments 3
Popular right now
Android
from 150,000 ₽NatsONМоскваRemote job
Android-разработчик
from 80,000 ₽FlowwowRemote job
Android-разработчик
to 80,000 ₽AmigowebМагнитогорскRemote job
Android developer
from 100,000 to 150,000 ₽King Bird StudioМоскваRemote job
Android-разработчик
from 170,000 to 230,000 ₽ENJOY PROСанкт-ПетербургRemote job