友盟游戏统计 SDK 可以很方便的统计一些游戏数据。使用他们的自定义事件,来统计自己项目关心的数据。现在接入 SDK 已经比以前方便了很多,不需要再导出 Android 工程去修改 Java。下面将一步一步详细说明。
要使用友盟 SDK,一共有以下几步
- 在友盟后面新建应用
- 在友盟后面建立自定义事件
- 下载并导入 SDK
- 调用 SDK
1. 在友盟后面新建应用
首先注册账号,然后进入友盟工作台。↓ https://www.umeng.com/
然后点击上面的产品,移动统计 ↓
点击添加应用 ↓
然后填写应用信息,下面是我随便填的,根据自己的应用信息填写即可(随便填也没关系)↓
点击注册后,将跳到下面的页面,这里我们只要关注这个 AppKey 即可,其他的不用管。这个 AppKey 会在 Unity 中用到 ↓
2. 自定义事件
建立好了应用后,就要想好我们想要统计哪些数据。例如,有多少用户点了开始游戏,有多少用户点了 观看广告,有多少用户观看广告结束,等等,这些都可以统计。
所谓的统计,也就是使用自定义的事件名,在不同的地方调用一下友盟的代码。所以接下来我们就建立自己想要统计的数据事件。
在应用页面,点击我们刚才新建的应用 ↓
然后依次点击 设置 -> 事件 -> 手工添加 ↓
我们下面先定义一个统计游戏开始的事件,事件 ID 是这个事件的唯一表示,会在 SDK 调用时用到,显示名称是让我们自己知道这个事件是干嘛的。然后点击确定 ↓
添加完后的事件,会显示在事件列表中。接下来我们再添加一个统计事件,例如游戏结束。↓
现在我们已经有了两个事件,当然,还可以添加更多,统计更多数据。这里为了演示,就只添加两个。↓
3. 下载并导入 SDK
建立好了事件,就可以在项目中使用了,首先要将友盟的 SDK 导入工程中。去友盟的 SDK 页面下载 SDK https://developer.umeng.com/sdk/u3d,这里我们下载 Unity3D 的。
下载下来的是一个 ZIP 压缩包,解压后,依次找到里面的 Unity3D -> analytics -> analytics_unit3d_x.x.x -> analytics 目录下的 UmengGameAnalytics_vx.x.unitypackage 文件,将这个文件导入到 Unity 即可,其他的文件不用管。
导入之后,就可以使用了。注意,如果导入后有什么报错,就看看错误是什么,尝试修复一下。
4. 调用 SDK
导入后,我们就需要写一个脚本,来调用 SDK。新建一个脚本,命名自己确定,这里我们使用 UmengAgent
,代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class UmengAgent : MonoBehaviour
{
public static UmengAgent Inst;
public string appKey;
public string channelId;
void Awake()
{
Inst = this;
DontDestroyOnLoad(gameObject);
}
void Start()
{
Umeng.GA.StartWithAppKeyAndChannelId(appKey, channelId);
}
public void OnGameStart(){
Umeng.GA.Event("GameStart");
}
public void OnGameOver(){
Umeng.GA.Event("GameStart");
}
}
代码中的 appKey
就是我们在友盟后台建立应用时的那个 appKey 的字符串,channelId 是我们自己定义的,标识渠道,例如我们出了不同的包,有的放在 GooglePlay,有的放在 AppStore,就可以通过自定义一个 channelId,来分别统计不同渠道的数据情况。
在场景中新建一个 GameObject,将这个脚本挂上去,然后在 Inspector 面板上赋值 appKey 和 channelId。↓
接下来,就是在游戏逻辑中调用 UmengAgent,在游戏开始后,调用一下 UmengAgent.Inst.OngameStart();
,在游戏结束时调用一下 UmengAgent.Inst.OnGameOver();
。这样,有多少次游戏开始,有多少次游戏结束,就会被统计下来。
下图是我另一个工程的统计数据,样式大家可以看一下。
注意,友盟统计的数据有一定的延迟性,这些事件统计,可能并不会在调用了后立刻就出现在后面。
以上就是在 Unity 中使用友盟统计的详细过程。