icon

Метрика

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

Яндекс Метрика

Чтобы интегрировать метрику в игру для Яндекс Игр, для начала на сайте Яндекс Метрика создайте счетчик:
icon
Затем скопируйте ID счётчика и вставьте его в поле Metrica Counter ID (Настройки плагина, раздел Metrica):
icon
На этом этапе ваша игра уже будет подключена к Яндекс Метрике. Теперь вы можете смотреть метрики игры, например, количество игроков.

Данные на сайте обновляются с задержкой!

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

Создайте цель и настройте:

  1. Запишите название цели.
  2. Тип условия выберите JavaScript-Событие.
  3. Индефикатор цели: совпадает.
  4. Индефикатор запишите без пробелов, на английском языке.
  5. Нажмите добавить цель.

icon

После того, как из игры будут отправлены события через методы PluginYG2, вы сможете посмотреть их во вкладке Конверсии. Для просмотра вложенных параметров перейдите в раздел Параметры цели:

drawing

Методы для отправки событий

Метод MetricaSend(string eventName)
Этот метод отправляет событие в Яндекс.Метрику, не передавая дополнительных данных. Он подходит для простых случаев, когда вам нужно только зафиксировать событие. Пример:

YG2.MetricaSend("level_up");
eventName: строка, представляющая название события (например, level_up).

Метод MetricaSend(string eventName, Dictionary<string, string> eventData)
Этот метод позволяет передать данные в виде ключ-значение, где оба элемента — строки. Используется для более простых случаев, когда не требуется передавать сложные вложенные объекты. Пример:
var eventData = new Dictionary<string, string>
{
    { "action", "click" },
    { "element", "button" }
};
YG2.MetricaSend("ui_interaction", eventData);
eventName: строка, представляющая название события.
eventData: словарь, где ключи и значения — строки (например, {"action": "click", "element": "button"}).

Метод MetricaSend(string eventName, Dictionary<string, object> eventData)
Этот метод более универсален и позволяет передавать данные в виде словаря, где значения могут быть не только строками, но и другими типами данных (например, числами, массивами и даже вложенными словарями). Пример:
var eventData = new Dictionary<string, object>
{
    { "action", "click" },
    { "element", "button" },
    { "user", new Dictionary<string, object>
        {
            { "level", 5 },
            { "experience", 1020 }
        }
    }
};
YG2.MetricaSend("ui_interaction", eventData);
eventName: строка, представляющая название события.
eventData: словарь, где ключи — строки, а значения могут быть любыми типами данных (int, float, bool, другие словари и т. д.).

Метод MetricaSend(string eventName, string param1, string param2)
Этот метод предназначен для передачи простых данных, когда нужно отправить имя события и два уровня параметров. Он позволяет удобно передавать двухуровневую информацию. Пример:
YG2.MetricaSend("level_up", "level", "5");
eventName: строка, представляющая название события.
param1: строка, которая будет использована в качестве имени параметра первого уровня.
param2: строка, которая будет использована в качестве значения параметра второго уровня.

Метод MetricaSend(string eventName, string nestedParam, Dictionary<string, object> subNestedData)
Этот метод такой же, что и предыдуший, но вложение второго уровня передаётся объектом. Таким образом можно удобно отправить метрики для одного параметра второго уровня с передачей данных этого параметра. Пример:
YG2.MetricaSend("levelsFinish", "1", new Dictionary<string, object>
{
    { "stars", 3 },
    { "time", 10 }
});
eventName: строка, представляющая название события.
param1: строка, которая будет использована в качестве имени параметра первого уровня.
param2: словарь, где ключи — строки, а значения могут быть любыми типами данных (int, float, bool, другие словари и т. д.).

Пример использования

using System.Collections.Generic;
using UnityEngine;
using YG;

public class MyClass : MonoBehaviour
{
    // Метод, который будет вызван при старте игры или на определенном событии.
    public void Start()
    {
        // Создаем словарь с дополнительной информацией, которая будет отправлена в метрику.
        var eventData = new Dictionary<string, object>
        {
            { "action", "click" },
            { "element", "button" },
            { "user", new Dictionary<string, object>
                {
                    { "level", 5 },
                    { "experience", 1020 }
                }
            }
        };

        // Отправляем событие с названием "ui_interaction" и данными eventData.
        YG2.MetricaSend("ui_interaction", eventData);
    }
}
Также примеры можно найти внутри модуля в скрипте YandexMetricaExample.

Использование на разных платформах

Яндекс Метрику можно использовать не только на Яндекс Играх, но и на других площадках, которые поддерживают интеграцию Яндекс Метрики. Возможно, для некоторых платформ потребуется добавить хост metrika.yandex в белый список. Узнайте подробности по необходимым платформам.
Чтобы использовать другой сервис для аналитики, необходимо переопределить скрипты Яндекс Метрики. Это можно сделать самостоятельно изучив документацию для создания платформы.

Яндекс Метрика активна на всех платформах по умолчанию, если не переопределена. Её можно вырезать для отдельных платформ. Для этого в настройках платформы активируйте опцию Use Yandex Metrica и уберите флажок для платформ, для которых требуется отключить Яндекс Метрику.
Также можно использовать разные счётчики для разных платформ. Но это может быть излишне, т.к. для просмотра метрик с разных площадок, в сервисе можно просматривать метрики по отдельным сайтам.

Если метрика не работает на определённой платформе, возможно в настройках счётчика включена опция «Принимать данные только с указанных адресов». В таком случае выключите её, или добавьте все необходимые ссылки.