版本兼容

  • Unreal Engine 5.0 及以上版本
  • 目前支持 Android、iOS、Windows 和 macOS 平台

  • Windows 平台依赖服务端 SDF 2.3.1.148 及以上版本

1. 集成 SensorsAnalytics 插件

  • 从 GitHub 获取 Unreal Engine SDK
  •  SensorsAnalytics 目录放入您项目的 Plugins 目录(如果 Plugins 目录不存在则需要创建)

在 Windows 平台上使用 SensorsAnalytics 插件时需要添加依赖的第三方库:zlib用于 gzip 压缩)。

1.1. Windows 平台的插件依赖

您可以直接尝试使用我们编译好的依赖文件,或自行编译。

1.1.1. 使用我们编译的 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"));
}
CODE

更高版本的 Visual Studio 也可以引入并使用这个预置的库。

1.1.2. 自行编译 zlib

  1.  zlib 官网下载 zlib 源码
  2. 根据需要的平台(win64 或者 win32)进行编译
  3. 将编译的结果放入 SDK 中
  4. 修改 SensorsAnalytics → SensorsAnalytics.Build.cs 文件,导入编译后的库和头文件

2. 启用 SensorsAnalytics 插件

集成 SensorsAnalytics 插件之后,需要执行下述步骤进行启用:

  • 开启 Unreal Editor
  • 打开 编辑 → 插件,启用 SensorsAnalytics(Analytics 分类
  • 如果您使用 Blueprint 并使用内置 Analytics 服务,请启用 Analytics Blueprint Library(在内置 Analytics 分类),此时会提示您重启 Unreal Editor
  • 重启 Unreal Editor 之后,打开 编辑 → 项目设置 → 插件,设置 SensorsAnalytics 参数:
    • Server Url:必填项,表示数据接收地址
    • Enable Log:表示是否开启日志,开启后,埋点事件触发时,即可打开 SDK 的日志输出功能,目前 iOS 端不支持日志的输出
    • 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
    CODE
  • 如果您希望直接在 C++ 代码中使用 SensorsAnalytics 接口,需要在项目的 *.Build.cs 文件中添加以下内容:

    PrivateDependencyModuleNames.AddRange(new string[] { "SensorsAnalytics" });
    PrivateIncludePathModuleNames.AddRange(new string[] { "SensorsAnalytics" });
    CODE

    此外,还需要在使用 SDK 的文件中引用 SensorsAnalytics.h 头文件:

    #include "SensorsAnalytics.h"
    CODE

3. 初始化 SDK

如果您希望使用 SensorsAnalytics 接口,应该首先进行 SDK 的初始化。

在 Blueprint 中,可以通过下述方式之一进行初始化:

  • 调用 Analytics Blueprint Library 的 StartSession 接口
  • 调用 SensorsAnalytics 下的 Start 接口

在 C++ 代码中,可采用下述调用进行初始化:

USensorsAnalytics::Start();
CODE

初始化完成之后,就可以使用 SDK 触发事件了。这里既可以使用 Analytics Blueprint Library 中提供的 RecordEvent 接口,也可以使用 USensorsAnalytics 类提供的接口。