Примечание. Аналитика игровых сервисов теперь доступен в виде пакета предварительной версииПакет предварительной версии находится в разработке и еще не готов к работе. Предварительный просмотр пакета может находиться на любой стадии разработки, от начальных до практически завершенных.
См. в Словарь. Игровые сервисы АналитикаСокращение Unity Analytics
See in Словарь – это улучшенное предложение, позволяющее легко понять производительность игры и поведение игроков, чтобы вы могли принимать стратегические решения. Ознакомьтесь с документацией.
Как стандартные, так и специальные события позволяют отправлять дополнительную информацию в службу аналитики в рамках события. Единственная разница между стандартными и пользовательскими событиями заключается в том, что большинство Стандартных событийСтандартные события — это события, специфичные для приложения, которые вы отправляете в ответ на важные события. действия игрока или вехи. Стандартные события имеют стандартизированные имена и определенные списки параметров. Подробнее
См. в Словарь имеют обязательные или необязательные параметры, которые имеют приоритет над любыми пользовательскими параметрами.
Передайте свои пользовательские параметры в соответствующую функцию AnalyticsEvent в виде Dictionary<string, объект>
экземпляр. Ключи этого словаря — это имена параметров, а значения — значения параметров. При создании этого словаря поддерживайте согласованные имена ключей и типы данных для каждого параметра в ваших данных событий как в рамках одной версии вашей игры, так и от версии к версии. Например, не отправляйте параметр имени уровня в виде числа иногда и в виде строки в другое время. Это может затруднить интерпретацию ваших данных.
Примечание. Не начинайте имена ключей словаря настраиваемых параметров с префикса «единство», который зарезервирован для внутренней Unity AnalyticsПлатформа данных, предоставляющая аналитику для вашей игры Unity. Подробнее
См. в событиях Словарь.
Unity сериализует значения, отправляемые в службу Analytics. Он анализирует числовые символы как числа, даже если тип данных, который вы добавляете в словарь, является строкой. Другими словами, добавление строки «51» в словарь параметров эквивалентно добавлению числа 51.
С событием можно передать до десяти параметров. Для стандартных событий это ограничение включает обязательные параметры и любые необязательные параметры, которым вы присваиваете значение (неиспользуемые необязательные параметры не учитываются в этом ограничении). Кроме того, длина отдельного имени ключа и строкового значения, передаваемого в событие, не должна превышать 100 символов, а общая длина всех имен ключей и строковых значений не должна превышать 500 символов.
Для повышения эффективности вы можете создать экземпляр словаря параметров в качестве члена класса и повторно использовать словарь каждый раз при отправке события. Повторное использование объекта словаря позволяет избежать выделения памяти при каждой отправке события. Это уменьшает выделение памяти, которое необходимо очистить сборщику мусора C#. Чем чаще вы отправляете событие в СценуСцена содержит среду и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь, тем больше пользы дает этот метод. В следующем примере определяется класс, который отправляет событие Custom. Класс определяет словарь параметров как переменную экземпляра и устанавливает значения параметров каждый раз, когда отправляет событие.
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Analytics;
public class MyCustomAnalyticsEvent : MonoBehaviour {
private const string Name = "my_custom_event";
private Dictionary parameters
= new Dictionary();
void Start(){
// Define parameters with default values
parameters.Add("character_class", "Unknown");
parameters.Add("health", 0);
parameters.Add("xp", 0);
parameters.Add("world_x", 0);
parameters.Add("world_y", 0);
parameters.Add("world_z", 0);
}
public bool Dispatch(string characterClass,
int health,
int experience,
Vector3 location){
// Set parameter values for a specific event
parameters["character_class"] = characterClass;
parameters["health"] = health;
parameters["xp"] = experience;
parameters["world_x"] = location.x;
parameters["world_y"] = location.y;
parameters["world_z"] = location.z;
// Send event
AnalyticsResult result
= AnalyticsEvent.Custom(Name, parameters);
if(result == AnalyticsResult.Ok){
return true;
} else {
return false;
}
}
}
Тот же метод можно использовать для пользовательских параметров, которые вы отправляете со стандартными событиями.