版本兼容
集成 SensorsAnalytics 插件
- 从 GitHub 获取 Unreal Engine SDK
- 将 SensorsAnalytics 目录放入您项目的 Plugins 目录(如果 Plugins 目录不存在则需要创建)
v0.0.3 之前的版本在 Windows 平台上使用 SensorsAnalytics 插件时需要添加依赖的第三方库:zlib(用于 gzip 压缩),v0.0.3 及之后的版本不需要添加。
Windows 平台的插件依赖(v0.0.3 之前的版本)
您可以直接尝试使用我们编译好的依赖文件,或自行编译。
使用我们编译的 zlib
我们在 Visual Studio 2019 上编译了适用 Windows 10(x64)的 zlib,已经预置到 SDK 中,目录如下:SensorsAnalytics → Source → ThirdParty → Windows → zlib_x64。
同时,SensorsAnalytics → SensorsAnalytics.Build.cs 也已经进行了修改:
if(Target.Platform == UnrealTargetPlatform.Win64)
{
// add header
PublicIncludePaths.Add(Path.GetFullPath(Path.Combine(ModuleDirectory, "../ThirdParty/Windows/zlib_x64/Include")));
// add lib
PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "../ThirdParty/Windows/zlib_x64/lib/libz-static.lib"));
}
更高版本的 Visual Studio 也可以引入并使用这个预置的库。
自行编译 zlib
- 从 zlib 官网下载 zlib 源码
- 根据需要的平台(win64 或者 win32)进行编译
- 将编译的结果放入 SDK 中
- 修改 SensorsAnalytics → SensorsAnalytics.Build.cs 文件,导入编译后的库和头文件
启用 SensorsAnalytics 插件
集成 SensorsAnalytics 插件之后,需要执行下述步骤进行启用:
- 开启 Unreal Editor
- 打开 编辑 → 插件,启用 SensorsAnalytics(在 Analytics 分类)
- 如果您使用 Blueprint 并使用内置 Analytics 服务,请启用 Analytics Blueprint Library(在内置 Analytics 分类),此时会提示您重启 Unreal Editor
- 重启 Unreal Editor 之后,打开 编辑 → 项目设置 → 插件,设置 SensorsAnalytics 参数:
- Server Url:必填项,表示数据接收地址
- Enable Log:表示是否开启日志,开启后,埋点事件触发时,即可打开 SDK 的日志输出功能
Flush Network Policy:设置数据上报策略,包括 2G、3G、4G、5G 及 WIFI,目前只支持 Android 和 iOS 端
- Flush Interval:设置与上次发送的时间间隔,单位为毫秒,默认 15 * 1000 毫秒
Flush Bulk Size:设置触发数据发送的本地缓存的事件条目数,默认 100 条
Auto Track Event Type:全埋点类型,包括是否自动触发启动事件($AppStart)和是否自动触发退出事件($AppEnd),目前只支持 Android 和 iOS 端
如果您使用内置 Analytics 服务,需要在 Config 目录下的 DefaultEngine.ini 文件中添加以下内容:
[Analytics] ProviderModuleName=SensorsAnalytics
如果您希望直接在 C++ 代码中使用 SensorsAnalytics 接口,需要在项目的 *.Build.cs 文件中添加以下内容:
PrivateDependencyModuleNames.AddRange(new string[] { "SensorsAnalytics" }); PrivateIncludePathModuleNames.AddRange(new string[] { "SensorsAnalytics" });
此外,还需要在使用 SDK 的文件中引用 SensorsAnalytics.h 头文件:
#include "SensorsAnalytics.h"
初始化 SDK
如果您希望使用 SensorsAnalytics 接口,应该首先进行 SDK 的初始化。
在 Blueprint 中,可以通过下述方式之一进行初始化:
- 调用 Analytics Blueprint Library 的 StartSession 接口
- 调用 SensorsAnalytics 下的 Start 接口
在 C++ 代码中,可采用下述调用进行初始化:
USensorsAnalytics::Start();
初始化完成之后,就可以使用 SDK 触发事件了。这里既可以使用 Analytics Blueprint Library 中提供的 RecordEvent 接口,也可以使用 USensorsAnalytics 类提供的接口。