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版本中已可用:
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 { { "potions", totalPotions }, { "coins", totalCoins } });
注意,在CustomEvent API使用时有一些限制:
最后,开发者可以使用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 。
查看英文原文: Unity Launches Analytics on iOS and Android