Unity 官方于上周宣布发布了Unity Analytics,这项服务用于帮助游戏开发者收集游戏玩家数据。Unity Analytics 的当前版本为open beta 版本,目前仅支持IOS 和Android 平台。
Unity 是一个跨平台的游戏引擎,使得开发者可以基于同一套代码开发多平台游戏。其支持 3 种编程语言,包括 C#、Unity Script (JavaScript for Unity) 和 Boo 语言,目前统计编程语言超过 80% 的为 C#语言。 Unity 目前支持 17 个平台,横跨 web、移动、桌面和终端,包括 iOS、Android、BlackBerry 10、Windows Phone 8、PlayStation 4/Vita、Xbox One/360 和 Wii/Wii U。 其跨平台特性对移动开发者而言非常有吸引力,其中很多在 app store 上排名靠前的游戏正是使用了该引擎,包括神庙逃亡(Temple Run)、愤怒小鸟: 史诗(Angry Birds Epic)、捣蛋猪(Bad Piggies)和暗影之刃(Shadow Blade)。
如下的特性在 open beta 版本中已可用:
- Metric Monitor- 仪表盘,它提供了常用的 KPI(key performance indicators),如玩家数量,会话时长和留存率。
- Segment Builder- 支持基于用户属性或游戏行为模式来分割玩家。
- Funnel Analyser- 可分析玩家失去兴趣的原因。
- Data Explorer- 提供深度数据挖掘功能,用于解读目标玩家的数据,如对比 IOS 和 Android 用户的留存率。
- Custom Data Collection- 捕获客户数据以追踪你所关注的重要事项,如通过收据确认查明你的应用内赢得的收益是不是正常的,还是存在一些虚假的成分。
Analytics 扩展包作为一个 Unity 的独立插件,可通过 Asset Store 下载 (在 Unity 编辑器中选择 Assets 菜单)。当 Analytics 插件包被导入到 Unity 工程后,可通过 C#脚本来初始化 SDK:
using UnityEngine; using System.Collections; using UnityEngine.Cloud.Analytics; public class UnityAnalyticsIntegration : MonoBehaviour { // 初始化 SDK void Start () { const string projectId = "PROJECTID-GOES-HERE-66fb5cf028d728bb"; UnityAnalytics.StartSDK (projectId); } }
这段脚本可以附属于任意游戏场景的 GameObject 之上(推荐添加到游戏的第一个场景的某个 GameObject 中,以此尽可能多地获得用户交互的数据记录)。整合 Analytics 后的基本功能可以追踪游戏的 KPI(performance indicators),如玩家数量、会话时长等。开发人员可以手工调用 analytics 使用上面所提到的这些附属功能。
analytics API 可记录关于货币的相关事件。例如,在应用内完成的购买。开发者可调用 API 的交易函数传递有关支付的信息。
// 引用 Unity Analytics SDK 命名空间 using UnityEngine.Cloud.Analytics; // 当游戏玩家触发购买事件则调用该 API 记录 UnityAnalytics.Transaction(string productId, decimal price, string currency, string receipt, string signature);
开发者能够使用 API 的 CustomEvent 自定义事件来追踪游戏指定的事件,该事件接受事件名称和额外的字典参数。
// 引用泛型集合命名空间 using System.Collections.Generic; int totalPotions = 5; int totalCoins = 100; UnityAnalytics.CustomEvent("gameOver", new Dictionary<string object=""> { { "potions", totalPotions }, { "coins", totalCoins } });</string>,>
注意,在 CustomEvent API 使用时有一些限制:
- 所需的字典参数要控制在 10 个之内。
- 所需的字典参数总长度不能超过 500 个字符。
- 在 1 小时之内每个客户端发布的自定义事件不能超过 100 次。
- 每个游戏只能有最多 50 个自定义事件类型或名称。
最后,开发者可以使用 API 以分片的方式分析玩家的人口统计数据:
SexEnum gender = SexEnum.F; UnityAnalytics.SetUserGender(gender); int birthYear = 2014; UnityAnalytics.SetUserBirthYear(birthYear);
开发者使用 Unity 账号可直接登录网站下载beta 版本。另外,Analytics beta 已经集成到Unity 标准版中,新用户可下载试用,如果你或者你的公司年收入低于$100,000 则可免费使用。没有资格使用标准版本的企业或者个人,可付费($1,500)购买Unity Pro 版本,包括工具套装和引擎插件。更多关于Unity 的价格和License 的信息,请参阅Unity 的价格指南和 FAQ 。
评论