简介

在这个教程中,我们将通过一个在业余时间构建的名为Swivel 2D的超级休闲游戏向你展示我们是如何独自做到这一点的。

将我们的SDK添加到你的游戏之后,你会开始看到大量非常有用的见解。

如果你希望进一步细化自定义追踪选项,你将需要添加一些手动操作。不要担心,这很容易做到。

是的,你可以在安卓和iOS上找到这个游戏。立即下载来玩!

Swivel 2D Tutorial

关于游戏

Swivel 2D是一款玩法简单直观的移动游戏,玩家只需要在屏幕上拖拽或点击来操控红色或蓝色圆圈,收集匹配的颜色,同时避开致命障碍。

这款游戏被设计为10个等级,有2套不同的操控策略,有虚拟货币的游戏内购买(玩家可购买额外生命)。

Swivel 2D Gameplay

我们需要什么?

集成时需要重要的KPI如日活数据(DAU)、会话长度(session length)等,但我们还需要更细粒度的洞察。

示例包括:关于关卡难度以及玩家陷入困境位置的更多细节,玩家如何与游戏UI交互,以及花费多少钱或虚拟货币。我们可以通过在游戏中调用以下事件类型来实现此目的:

事件类型 目的 示例
游戏进程 升级尝试 10级,阶段结束,教程完成
商业事件 应用内购买 助推器,删除广告,新技能
资源事件 虚拟经济 生活,宝石,黄金, Elixir, Rupies
设计 自定义事件 点按,滑动,炸弹,我的,社交连接

SDK集成

我们在Unity游戏引擎中构建了这个游戏。我们为所有GameAnalytics SDK创建了详细的设置指南。 您可以在此处找到它们

  1. 首先,我们将文档放入项目当中
  2. 然后我们注册GameAnalytics并创建我们自己的游戏
  3. 完成后,我们就会获得一个游戏钥和密钥
  4. 在Unity项目编辑器的 GameAnalytics的对象UI中输入这些密钥键
  5. 最终,我们将SDK初始化

GameAnalytics Integration Unity

等级(进程分析)

我们想要从玩家如何升级的过程中获得洞察,了解他们对游戏难易程度的感知。

通过进程事件可追踪到玩家何时尝试开启某一关卡,以及何时过关或失败。我们是这样追踪的:在每一关卡,发送关卡名字和该关卡的可选值(如等级分数)信息给服务器。

代码示例
												
/ It is possible to track a level hierarchy (like “world, stage, level”), but our structure is simple.
// Start the level
GameAnalytics.NewProgressionEvent(GAProgressionStatus.Start, "Level_1")
// End the level (player completes it with a level score of 10)
GameAnalytics.NewProgressionEvent(GAProgressionStatus.Complete, "Level_1", 10)

												
											

应用内购买

在玩家消费时,我们要确保所有游戏内购都被激活,从而保证来自??游戏的商业事件不会以其错误的交易数据误导收入追踪。

游戏内购可在菜单打开,或在玩家生命结束时触发。追踪内购的金额是以美分为单位(99 = 0.99$)。在Unity平台,我们会在每一次内购顺利完成后,立马收集之后发生的商业事件,SDK会收到数字收据,再将其发送至我们的后端进行验证,从而得到有效的收入数据。

												
/When the user gets a life we call the following
GameAnalytics.NewResourceEvent (GAResourceFlowType.Source, “life”, 1, “Consumable”, “life-1”);
// We call this when a player spends a life to continue when dying on a level
GameAnalytics.NewResourceEvent (GAResourceFlowType.Sink, “life”, 1, “Consumable”, “life-1")


												
											

虚拟货币(资源)

在玩家进行游戏内购买时,他们会得到一些“生命”形式的虚拟货币,当玩家在某一关死亡,他们可以支付“生命”继续玩。

我们想追踪玩家在什么时候得到金币(资源)、什么时候用掉这些金币(沉没),并通过资源事件进行追踪。

												
//99 means $0.99
#if (UNITY_IOS)
// iOS - with autoFetchReceipt
GameAnalytics.NewBusinessEventIOSAutoFetchReceipt (“USD”, 99, “Consumable”, “1000credits”, “shop”);
#endif
// Android - Google Play
// Retrieve receipt & signature manually in Base64 encoding
#if (UNITY_ANDROID)
GameAnalytics.NewBusinessEventGooglePlay (“USD”, 99, “Consumable”, “1000credits”, “shop, “+RECEIPT+”, “+SIGNATURE+”);
#endif


												
											

定制事件(设计)

鉴于大多数游戏为了给予玩家独特的体验,都设计了自己独特的核心玩法,因此我们还接受一些预设事件类型之外的特殊追踪需求。

以下设计事件可以提供“event_id”信息,即等级、价值信息。

													
	// The game can be played by either tapping or swiping. After tutorial the user is asked for preference.
	GameAnalytics.NewDesignEvent("Tutorial:Tap");
	// or.. 
	GameAnalytics.NewDesignEvent("Tutorial:Swipe");

	// Users can skip tutorial
	GameAnalytics.NewDesignEvent("Tutorial:Skip");
													
												

集成步骤在这里就结束了!

数据报表

当完成对游戏追踪的部署,我们就可以在实时数据报表上查看数据了。有多个预设的数据报表,全方位展示所需的所有KPI数据。

为了追踪定制事件和其他我们认为重要的度量指标,我们还设计了一个定制化数据报表,可放入所有我们所需的统计工具,如以国家划分的DAU数据、收入、点触操作和滑动操作的分布情况等。

GameAnalytics Dashboard

发现工具

为了深度挖掘数据,我们利用发现工具来详细展开更多的选项、选择数据的可视化方式,还可直接比较两种度量指标(如DAU和收入)的走势。

GameAnalytics Explore Tool

……还远不止这些!

我们提供如此多的数据维度,只为你的轻松体验。现在注册即可查看游戏示例,全面了解我们的各项功能。

漏斗分析 发送报告至邮箱
群组分析 实验设计(A/B testing)
控制中心 基准数据
用户分群 用户获取

这里是GameAnalytics所有功能的分解介绍。