Плагин Google Analytics для Unity: справочные материалы по API

В этом документе описано, как отправлять данные, и перечислены все методы плагина Google Analytics для Unity.

Введение

Для отправки данных в Google Analytics с помощью плагина для Unity можно использовать методы Basic или Builder. Вариант Builder подойдет, если вы хотите добавить к обращениям параметры кампаний либо пользовательские параметры и показатели. Для отправки обращений подойдут оба метода.

Подробнее об установке и настройке плагина Google Analytics для Unity читайте в руководстве.

Общие методы

Отправка обращений

Передает обращения (просмотры, события и т. п.) в Google Analytics, если доступно сетевое подключение.

public void DispatchHits();

Дополнительная информация

Контроллер сеансов

Сеанс – это один период взаимодействия пользователя с вашим приложением. Сеансы служат своеобразными контейнерами для измеряемой активности, будь то просмотры экранов, события или транзакции электронной торговли.

Для принудительного начала или завершения сеанса используются следующие методы:

// Start a new session.
public void StartSession();
// There should be no need to end a session explicitly. However, if you do
// need to indicate the end of session you can use the following method.
public void StopSession();

Дополнительная информация

Экраны

Под "экранами" в Google Analytics подразумевается контент, который пользователи просматривают в приложении. Просмотр экрана состоит из одного строкового поля, значение которого затем используется в отчетах Google Analytics в качестве названия экрана.

Basic

public void LogScreen(string title);

Builder

public void LogScreen(AppViewHitBuilder builder);

Пример

googleAnalytics.LogScreen("Main Menu");

//Builder Hit with all App View parameters (all parameters required):
googleAnalytics.LogScreen(new AppViewHitBuilder()
    .SetScreenName("Main Menu"));

Дополнительная информация

События

Отслеживание событий позволяет узнать, как пользователи взаимодействуют с различными интерактивными компонентами в вашем приложении, например кнопкой или определенным элементом в игре. Событие состоит из четырех полей, в которых можно описать взаимодействие пользователя с игрой.

Basic

public void LogEvent(string eventCategory,
    string eventAction,
    string eventLabel,
    long value);

Builder

public void LogEvent(EventHitBuilder builder);

Пример

googleAnalytics.LogEvent("Achievement", "Unlocked", "Slay 10 dragons", 5);

// Builder Hit with all Event parameters.
googleAnalytics.LogEvent(new EventHitBuilder()
    .SetEventCategory("Achievement")
    .SetEventAction("Unlocked")
    .SetEventLabel("Slay 10 dragons")
    .SetEventValue(5));

// Builder Hit with minimum required Event parameters.
googleAnalytics.LogEvent(new EventHitBuilder()
    .SetEventCategory("Achievement")
    .SetEventAction("Unlocked"));

Дополнительная информация

Сбои и исключения

Вы можете получать данные о количестве и типе сбоев и исключений, произошедших в вашем приложении.

Basic

public void LogException(string exceptionDescription, bool isFatal);

Builder

public void LogException(ExceptionHitBuilder builder);

Пример

googleAnalytics.LogException("Incorrect input exception", true);

// Builder Hit with all Exception parameters.
googleAnalytics.LogException(new ExceptionHitBuilder()
    .SetExceptionDescription("Incorrect input exception")
    .SetFatal(true));

// Builder Hit with minimum required Exception parameters.
googleAnalytics.LogException(new ExceptionHitBuilder());

Дополнительная информация

Пользовательское время

Эта функция Google Analytics позволяет измерить любой период времени, например время загрузки ресурса.

Basic

public void LogTiming(string timingCategory,
    long timingInterval,
    string timingName,
    string timingLabel);

Builder

public void LogTiming(TimingHitBuilder builder);

Пример

googleAnalytics.LogTiming("Loading", 50L, "Main Menu", "First Load");

// Builder Hit with all Timing parameters.
googleAnalytics.LogTiming(new TimingHitBuilder()
    .SetTimingCategory("Loading")
    .SetTimingInterval(50L)
    .SetTimingName("Main Menu")
    .SetTimingLabel("First load"));

// Builder Hit with minimum required Timing parameters.
googleAnalytics.LogTiming(new TimingHitBuilder()
    .SetTimingCategory("Loading")
    .SetTimingInterval(50L));

Дополнительная информация

Социальные взаимодействия

Эта функция Google Analytics позволяет понять, как пользователи взаимодействуют с кнопками и виджетами социальных сетей, размещенными на вашем сайте или в приложении.

Basic

public void LogSocial(string socialNetwork,
    string socialAction,
    string socialTarget);

Builder

public void LogSocial(SocialHitBuilder builder);

Пример

googleAnalytics.LogSocial("twitter", "retweet", "twitter.com/googleanalytics/status/482210840234295296");

// Builder Hit with all Social parameters.
googleAnalytics.LogSocial(new SocialHitBuilder()
    .SetSocialNetwork("Twitter")
    .SetSocialAction("Retweet")
    .SetSocialTarget("twitter.com/googleanalytics/status/482210840234295296"));

// Builder Hit with minimum required Social parameters.
googleAnalytics.LogSocial(new SocialHitBuilder()
    .SetSocialNetwork("Twitter")
    .SetSocialAction("Retweet"));

Дополнительная информация

Электронная торговля

Отслеживание электронной торговли позволяет отправлять в Google Analytics информацию о покупках в вашем приложении. Данные электронной торговли в Google Analytics состоят из обращений типов transaction (транзакция) и item (товар) с общим идентификатором транзакции.

Транзакции

Basic

public void LogTransaction(string transID,
    string affiliation,
    double revenue,
    double tax,
    double shipping);

public void LogTransaction(string transID,
    string affiliation,
    double revenue,
    double tax,
    double shipping,
    string currencyCode);

Builder

public void LogTransaction(TransactionHitBuilder builder);

Пример

googleAnalytics.LogTransaction("TRANS001", "Coin Store", 3.0, 0.0, 0.0);
googleAnalytics.LogTransaction("TRANS001", "Coin Store", 3.0, 0.0, 0.0, "USD");

// Builder Hit with all Transaction parameters.
googleAnalytics.LogTransaction(new TransactionHitBuilder()
    .SetTransactionID("TRANS001")
    .SetAffiliation("Coin Store")
    .SetRevenue(3.0)
    .SetTax(0)
    .SetShipping(0.0)
    .SetCurrencyCode("USD"));

// Builder Hit with minimum required Transaction parameters.
googleAnalytics.LogTransaction(new TransactionHitBuilder()
    .SetTransactionID("TRANS001")
    .SetAffiliation("Coin Store")
    .SetRevenue(3.0)
    .SetTax(0)
    .SetShipping(0.0));

Объекты

Basic

public void LogItem(string transID,
    string name,
    string SKU,
    string category,
    double price,
    long quantity);

public void LogItem(string transID,
    string name,
    string SKU,
    string category,
    double price,
    long quantity,
    string currencyCode);

Builder

public void LogItem(ItemHitBuilder builder);

Пример

googleAnalytics.LogItem("TRANS001", "Sword", "SWORD1223", "Weapon", 3.0, 2);
googleAnalytics.LogItem("TRANS001", "Sword", "SWORD1223", "Weapon", 3.0, 2, "USD");

// Builder Hit with all Item parameters.
googleAnalytics.LogItem(new ItemHitBuilder()
    .SetTransactionID("TRANS001")
    .SetName("Sword")
    .SetSKU("SWORD1223")
    .SetCategory("Weapon")
    .SetPrice(3.0)
    .SetQuantity(2)
    .SetCurrencyCode("USD"));

// Builder Hit with minimum required Item parameters.
googleAnalytics.LogItem(new ItemHitBuilder()
    .SetTransactionID("TRANS001")
    .SetName("Sword")
    .SetSKU("SWORD1223")
    .SetPrice(3.0)
    .SetQuantity(2));

Дополнительная информация

Специальные параметры и показатели

Специальные параметры позволяют связывать метаданные с обращениями, пользователями и сеансами Google Analytics, а специальные показатели – создавать собственные определения для измерения данных.

Сначала необходимо добавить и настроить параметры и показатели. После этого вы сможете отправлять соответствующие данные в обращениях с помощью метода Builder.

Builder

// Custom Dimension.
public T SetCustomDimension(int dimensionNumber, string value);
// Custom Metric.
public T SetCustomMetric(int metricNumber, string value);

Пример

// Custom Dimension.
// An AppView hit example, but custom dimensions can be sent with all hit types.
googleAnalytics.LogScreen(new AppViewHitBuilder()
    .SetScreenName("Another screen")
    .SetCustomDimension(1, "200"));

// Custom Metric.
// An Event hit example, but custom metrics can be sent with all hit types.
googleAnalytics.LogEvent(new EventHitBuilder()
    .SetEventCategory("Achievement")
    .SetEventAction("Unlocked")
    .SetEventLabel("Slay 10 dragons")
    .SetEventValue(5)
    .SetCustomMetric(3, "200"));

Дополнительная информация

Кампании

Отслеживание кампаний в Google Analytics позволяет связывать действия пользователей в вашем приложении с определенными кампаниями и источниками трафика.

Параметры кампании можно отправлять в обращениях с помощью метода Builder.

Builder

public T SetCampaignName(string campaignName);
public T SetCampaignSource(string campaignSource);
public T SetCampaignMedium(string campaignMedium);
public T SetCampaignKeyword(string campaignKeyword);
public T SetCampaignContent(string campaignContent);
public T SetCampaignID(string campaignID);

Пример

googleAnalytics.LogTiming(new TimingHitBuilder()
    .SetTimingCategory("Loading")
    .SetTimingInterval(50L)
    .SetTimingName("Main Menu")
    .SetTimingLabel("First load")
    .SetCampaignName("Summer Campaign")
    .SetCampaignSource("google")
    .SetCampaignMedium("cpc")
    .SetCampaignKeyword("games")
    .SetCampaignContent("Free power ups")
    .SetCampaignId("Summer1"));

// Send campaign parameters with timing hit.
// Builder Hit with minimum required Campaign parameters.
googleAnalytics.LogTiming(new TimingHitBuilder()
    .SetTimingCategory("Loading")
    .SetTimingInterval(50L)
    .SetTimingName("Main Menu")
    .SetTimingLabel("First load")
    .SetCampaignSource("google");

Дополнительная информация

Продвинутый уровень

Следующие методы предназначены для продвинутых пользователей Google Analytics, которые хорошо знакомы с концепцией отслеживания.

SetOnTracker

Задает значения для счетчика, которые будут отправляться с другими обращениями.

Использует переменные из файлов Assets/Plugins/Fields.cs для параметра fieldName (например, Fields.SCREEN_NAME).

public void SetOnTracker(Field fieldName, object value);

Пример

googleAnalytics.SetOnTracker(Fields.SCREEN_NAME, "Main Menu");

Dispose

Освобождает управляемые ресурсы и перезапускает счетчик.

После вызова этого метода следующее обращение создаст новый счетчик, поэтому рекомендуется вызывать его только после завершения отслеживания. Например, в методе onDispose(), который используется, когда пользователь выходит из игры.

public void Dispose();

Пример

googleAnalytics.Dispose();