Примечание. Аналитика игровых сервисов теперь доступен в виде пакета предварительной версииПакет предварительной версии находится в разработке и еще не готов к работе. Предварительный просмотр пакета может находиться на любой стадии разработки, от начальных до практически завершенных.
См. в Словарь. Игровые сервисы АналитикаСокращение Unity Analytics
See in Словарь – это улучшенное предложение, позволяющее легко понять производительность игры и поведение игроков, чтобы вы могли принимать стратегические решения. Ознакомьтесь с документацией.
Использовать Стандартные событияСтандартные события – это события, специфичные для приложения, которые вы отправляете в ответ на важные действия или этапы игрока. Стандартные события имеют стандартизированные имена и определенные списки параметров. Подробнее
См. в Словарь информацию об опыте пользователей и поведении игроков в пяти основных областях:
- Приложение. Отслеживайте использование основных элементов пользовательского интерфейса приложения.
- Прогресс: отслеживайте прогресс игрока в вашем приложении или игре.
- Онбординг. Отслеживайте самые ранние взаимодействия игроков с вашим приложением или игрой.
- ВовлеченностьВовлеченность — это общий показатель того, насколько игроки получают удовольствие от вашей игры или как они ее вкладывают. Невозможно измерить напрямую, но для оценки вовлеченности часто используются следующие показатели: удержание, DAU, MAU, DAU/MAU, количество сеансов и продолжительность сеанса. Дополнительная информация
См. в Словарь: отслеживайте важные действия, связанные с публикациями в социальных сетях и достижениями. - Монетизация: отслеживайте события, связанные с доходом, а также вашу игровую экономику.
Список стандартных событий охватывает ряд вещей, которые вам может быть полезно отслеживать в играх и приложениях. Например, в большинстве игр есть концепция прогресса игрока, которая может означать завершенные головоломки, сыгранные матчи, заработанный опыт в стиле RPG или какое-то другое понятие. Отслеживая стандартные события прогресса, вы можете лучше понять, где игроки перестают прогрессировать и, в конечном счете, где они перестают играть.
Большинство стандартных событий определяют обязательные и необязательные параметры, которые предоставляют дополнительную информацию о состоянии вашей игры при отправке события Analytics. Вы также можете определить свои собственные пользовательские параметры. Настройка параметров вашего события позволяет фильтровать данные, собранные во время события. Инструменты визуализации для стандартных и настраиваемых событий можно просмотреть на панели управления аналитикой, включая Проводник данных. Страница панели инструментов Unity Analytics, на которой можно создавать, просматривать и экспортировать отчеты по показателям и событиям Analytics. Вы также можете увидеть, как метрики и пользовательские события меняются с течением времени. Подробнее
См. в Словарь, анализаторе последовательностей и конструкторе сегментов.
Unity Analytics ограничивает количество принимаемых стандартных и настраиваемых событий до 100 в час на пользователя. Другими словами, если одному пользователю, играющему в вашу игру, удается инициировать более 100 стандартных или пользовательских событий в течение часа, Analytics отбрасывает дополнительные события.
События приложения
События приложения отслеживают взаимодействие игрока с приложением за пределами самой игры (например, в меню или на экранах кат-сцен до или после уровня). Вы можете анализировать события приложения, чтобы увидеть, используют ли игроки основные части вашего пользовательского интерфейса так часто, как вы ожидаете.
Название события | Цель |
---|---|
screen_visit | Игрок открыл экран в UI(пользовательский интерфейс) Позволяет пользователю взаимодействовать с вашим приложением. Подробнее См. в Словарь, например, экран рекордов или настроек. |
cutscene_start | Игрок начал просмотр кинематографического ролика. |
cutscene_skip | Игрок пропустил кинематографический ролик. |
События развития
События прогресса отслеживают игроков по мере их продвижения по игре. Анализируйте стандартные события прогресса, чтобы отслеживать прогресс игрока в вашей игре.
Название события | Цель |
---|---|
game_start | Игрок начал новую игру (полезно для игр с разными началом и концом). |
game_over | Игрок завершил игру (полезно для игр с четким началом и концом). |
level_start | Игрок начал уровень. |
level_complete | Игрок успешно прошел уровень. |
level_fail | Игрок потерял уровень. |
level_quit | Игрок вышел из уровня. |
level_skip | Игрок пропустил уровень. |
level_up | У игрока повысился ранг или уровень опыта в стиле RPG. |
Вступительные мероприятия
События адаптации отслеживают первый опыт взаимодействия с пользователем (FTUE). Анализируйте стандартные вводные мероприятия, чтобы следить за эффективностью своих руководств.
Название события | Цель |
---|---|
first_interaction | Игрок завершил какое-либо взаимодействие после первого запуска игры. |
tutorial_start | Игрок начал обучение. |
tutorial_step | Игрок прошел веху в обучении. |
tutorial_complete | Игрок завершил обучение. |
tutorial_skip | Игрок пропустил обучение. |
Мероприятия по помолвке
События вовлечения помогают понять, вовлечены ли ваши игроки в вашу игру и совершают ли они действия, тесно связанные с удержанием и виральностью.
Название события | Цель |
---|---|
push_notification_enable | Плеер включил push-уведомления. |
push_notification_click | Игрок ответил на отправленное сообщение. |
chat_msg_sent | Игрок отправил сообщение в чат. |
achievement_unlocked | Игрок выполнил достижение. |
achievement_step | Игрок прошел веху на пути к достижению. |
user_signup | Игрок подключен к социальной сети. |
social_share | Игрок поделился чем-то вроде приглашения или подарка через социальную сеть. |
social_accept | Игрок принял что-то, чем поделился через социальную сеть. |
События монетизации
События по монетизации отслеживают доход и экономику игры, чтобы помочь вам сбалансировать свои ресурсы и улучшить источники дохода.
Название события | Цель |
---|---|
store_opened | Игрок открыл магазин. |
store_item_click | Игрок выбрал предмет в магазине. |
iap_transaction | Игрок потратил реальные деньги, чтобы совершить покупку в приложении. |
item_acquired | Игрок приобрел ресурс в игре. |
item_spent | Игрок потратил предмет в игре. |
ad_offer | У игрока была возможность посмотреть рекламу. |
ad_start | Плеер начал смотреть рекламу. |
ad_complete | Игрок закончил просмотр рекламы. |
ad_skip | Игрок пропустил объявление до завершения. |
post_ad_action | Игрок выполнил действие, предложенное рекламой. |
Сценарии стандартных событий
Чтобы отправить стандартное событие из скрипта, добавьте следующее пространство имен:
using UnityEngine.Analytics;
Примечание. При использовании SDK Standard Events из Asset storeUnity расширяется библиотека бесплатных и коммерческих ресурсов, созданных Unity. и члены сообщества. Предлагает широкий спектр ресурсов, от текстур, моделей и анимации до целых примеров проектов, руководств и расширений редактора. Подробнее
См. в Словарь, используйте пространство имен UnityEngine Вместо этого .Analytics.Experimental
.
Теперь вы можете отправлять стандартные события с помощью класса AnalyticsEvent. Каждое стандартное событие имеет соответствующую статическую функцию. Например, чтобы отправить событие game_start, вызовите следующую функцию:
AnalyticsEvent.GameStart();
Многие стандартные события имеют обязательные параметры, а некоторые — необязательные. Вы также можете добавить свои собственные дополнительные параметры в словарь. Например, если вы хотите отслеживать, какие экраны посещают игроки с помощью события ScreenVisit, но также хотите отслеживать, с какого экрана они посещают, вы можете передать эту информацию в объект словаря:
public static void ReportScreenVisit(string screenName, string currentScreenName)
{
AnalyticsEvent.ScreenVisit(screenName, new Dictionary
{
{ "from_screen", currentScreenName }
});
}
Общее количество обязательных параметров, необязательных параметров (включая те, которые вы используете) и дополнительных параметров не может превышать десяти. Другими словами, если функция события имеет 2 обязательных параметра и вы задали 1 из 2 необязательных параметров, вы можете передать в функцию словарь, содержащий до семи дополнительных пар ключ-значение. Если вы установите оба необязательных параметра в одном и том же событии, ваш словарь может содержать только шесть пар ключ-значение.
Пример кода стандартного события
В следующем классе представлен пример, который использует стандартные функции событий MonoBehaviour для отправки стандартных событий, связанных с начальным и конечным уровнями.
Функция Awake отправляет событие level_start. В примере представлены и имя уровня, и индекс уровня, но требуется только один. В примере также используются имя и индекс из SceneСцена содержит среды и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в объекте Словарь, но можно использовать другие значения.
Функция OnDestroy отправляет событие level_complete, level_fail, level_skip или level_quit на основе текущего значения состояния уровня (которое в реальном game, будет установлен другим кодом на уровне с помощью функции SetLevelPlayState()
, определенной в этом примере). В примере к этим событиям добавляются дополнительные параметры с использованием словаря под названием «customParams».
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.Analytics;
public class LevelEventManager : MonoBehaviour {
public enum LevelPlayState {InProgress, Won, Lost, Skip, Quit}
private Scene thisScene;
private LevelPlayState state = LevelPlayState.InProgress;
private int score = 0;
private float secondsElapsed = 0;
private int deaths = 0;
void Awake () {
thisScene = SceneManager.GetActiveScene();
AnalyticsEvent.LevelStart(thisScene.name,
thisScene.buildIndex);
}
public void SetLevelPlayState(LevelPlayState newState){
this.state = newState;
}
public void IncreaseScore(int points){
score += points;
}
public void IncrementDeaths(){
deaths++;
}
void Update(){
secondsElapsed += Time.deltaTime;
}
void OnDestroy(){
Dictionary customParams = new Dictionary();
customParams.Add("seconds_played", secondsElapsed);
customParams.Add("points", score);
customParams.Add("deaths", deaths);
switch(this.state){
case LevelPlayState.Won:
AnalyticsEvent.LevelComplete(thisScene.name,
thisScene.buildIndex,
customParams);
break;
case LevelPlayState.Lost:
AnalyticsEvent.LevelFail(thisScene.name,
thisScene.buildIndex,
customParams);
break;
case LevelPlayState.Skip:
AnalyticsEvent.LevelSkip(thisScene.name,
thisScene.buildIndex,
customParams);
break;
case LevelPlayState.InProgress:
case LevelPlayState.Quit:
default:
AnalyticsEvent.LevelQuit(thisScene.name,
thisScene.buildIndex,
customParams);
break;
}
}
}
Обратите внимание, что в этом примере словарь пользовательских параметров, созданный в OnDestroy()
, используется только один раз. Однако при отправке события, которое часто использует такой словарь, следует создать один экземпляр словаря и использовать его повторно, а не создавать каждый раз новый словарь. Повторное использование объекта словаря уменьшает выделение памяти, которая должна быть удалена сборщиком мусора в будущем кадре. Дополнительные сведения см. в разделе Параметры событий Google Analytics.