Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Параметры события Аналитики

Примечание. Аналитика игровых сервисов теперь доступен в виде пакета предварительной версииПакет предварительной версии находится в разработке и еще не готов к работе. Предварительный просмотр пакета может находиться на любой стадии разработки, от начальных до практически завершенных.
См. в Словарь
. Игровые сервисы АналитикаСокращение 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; } } }

Тот же метод можно использовать для пользовательских параметров, которые вы отправляете со стандартными событиями.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3