Unity3d:自定义事件
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生
自定义事件
自定义事件可以是用户执行的任何特定游戏内操作。它们允许您跟踪玩家行为 Unity分析学
不会自动跟踪,例如级别成就,现场
更改、进入商店或与游戏对象交互。每个自定义事件都可以有自己的参数。通过设置事件的参数,可以筛选事件发生时收集的数据。可以在分析仪表板中查看自定义事件的可视化工具,包括数据资源管理器
、漏斗分析器和区段生成器。
// Reference the Unity Analytics SDK namespace
using UnityEngine.Cloud.Analytics;
// Use this call for wherever a player triggers a custom event
UnityAnalytics.CustomEvent(string customEventName,
IDictionary<string, object> eventData);
UnityAnalytics.CustomEvent 输入参数 | ||
---|---|---|
名字 | 类型 | 描述 |
自定义事件名称 | 字符串 | 自定义事件的名称。名称不能包含前缀“unity”— 这是一个保留关键字。 |
事件数据 | 字典 | 发送到的其他参数统一分析在触发自定义事件时。eventData 键不能包含前缀“unity”。 — 这是一个保留关键字。 |
有关自定义事件的一些注意事项:
- 保持一致!为事件数据中的每个参数保持一致的数据类型。例如,不要将 level 参数作为数字发送,然后将其更改为字符串。这样做可能会导致错误行为,使数据难以解释。
- 布尔值(真/假)
- 字符串(字符)
- 数字(整数、浮点数等)。
- 每个自定义事件的默认限制为 10 个参数。
- 如果传递了更多参数,则调用将失败,返回值为 AnalyticsResult.TooManyItems
- 词典内容的默认限制为 500 个字符。
- 如果传递的字符超过 500 个,调用将失败,返回值为 AnalyticsResult.SizeLimitReach
- 默认限制为每个用户每小时 100 个自定义事件。
- 如果每小时调用的事件超过 100 个,则调用将失败,返回值为 AnalyticsResult.TooManyRequests。
- 考虑分析系统如何解析参数。
- 所有数字、整数、浮点数等,即使作为字符串发送,也会被解析为数字。
- 只有字符串和布尔值被认为是“可分类的”。
- 因此,如果您希望对某些内容求和或求平均值,请将其作为数字发送(例如,51 或“51”)。如果您希望对其进行分类,就像使用级别或选项一样,请确保它将解析为字符串(例如,“Level51”)。
在下面的示例中,我们有兴趣了解用户在游戏结束时的库存中有什么。
// Reference the Collections Generic namespace
using System.Collections.Generic;
int totalPotions = 5;
int totalCoins = 100;
string weaponID = "Weapon_102";
UnityAnalytics.CustomEvent("gameOver", new Dictionary<string, object>
{
{ "potions", totalPotions },
{ "coins", totalCoins },
{ "activeWeapon", weaponID }
});
按播放
要将测试自定义事件数据发送到我们的服务器并验证您的集成,请在编辑器运行模式下触发自定义事件。
3D建模学习工作室整理翻译,转载请标明出处!