菜单

集成文档(Unity)

版本兼容

  • Unity Editor 5.5.5 及以上版本
  • Xcode 12.1 及以上版本(iOS)

集成 SDK

  1. GitHub 下载 Unity SDK 最新资源包(.unitypackage 文件

  2. 将上述文件通过 Assets → Import Package → Custom Package 添加到项目中
  3. 将 SensorsAnalytics 目录下的 SensorsAnalytics.prefab 预制体拖到需要加载的位置
  4. 配置 SDK

Server URL :数据接收地址

  • 每个项目都有单独的数据接收地址
  • 请使用管理员账户获取相应项目的数据接收地址

Enable Log :是否开启日志,开启后,埋点事件触发时,即可打开 SDK 的日志输出功能:

  • 点事件触发成功时,SDK 会输出 【track event】 开头的事件数据;
  • 埋点事件触发失败时,SDK 会输出相应的错误原因;
  • 事件数据上报成功时,SDK 会输出 【valid message】字段开头的事件数据;
  • 事件数据上报失败时,SDK 会输出 【invalid message】 字段开头的事件数据并输出错误原因。

AutoTrackTypes: 全埋点配置,默认不开启,勾选开启 App 启动、App 退出全埋点事件采集

NetworkTypes: 设置上报数据到服务器的网络条件,只支持 Android & iOS, 默认为:3G, 4G, 5G 及 WIFI 环境下上报数据。

配置 Scheme(只支持 Android & iOS)

使用 Debug 实时查看等功能时,需要配置 scheme。如果在导出的原生工程中已配置,不需要在 Unity 中配置,此项可忽略。如果需要在 Unity 中配置 scheme,可以按照如下方法配置。

获取 Scheme

  • 项目的 Scheme 需要管理员账户进行获取
  • App 工程中可以同时配置多个项目的 Scheme

配置 Android 端 Scheme

在 Unity Editor 的 Assets/Plugins/Android 目录中添加 UnityPlayerActivity 的 AndroidManifest.xml 文件,内容如下,将 Scheme 替换为上步获取的值。



  
    
      
        
        
      
      
        
        
        
        
      
    
  

配置 iOS 端 Scheme

Edit →  Project Setting →  Player →  iOS tab →  Other Settings → Supported URL schemes 中配置上面获取的值。

添加脚本代码

在脚本(比如脚本类名为ExampleBehaviour)代码中,添加如下代码,处理 SchemeUrl。

// 声明 static 示例脚本
static ExampleBehaviour saInstance;

void Awake(){
	//判断是否需要 SDK 处理,防止重复添加回调
    if (saInstance == null){
        DontDestroyOnLoad(gameObject);
        saInstance = this;
        Application.deepLinkActivated += handSchemeUrl;
    }else{
        Destroy(gameObject);
        return;
    }   
}
 
private void handSchemeUrl(string url)
{
	//SDK 处理 URl
    SensorsDataAPI.HandleSchemeUrl(url);
}

注意

Application.deepLinkActivated 目前只支持 Unity Editor 2020.1、2020.2、2019.4 这三个版本。

代码埋点追踪事件

当您完成 SDK 的配置后,可以通过 Track 方法追踪用户行为事件,并为事件添加自定义属性:

using SensorsDataAnalytics;

try
{
	Dictionary properties = new Dictionary();
	// 设置商品 ID
	properties.Add("ProductID", 123456); 
	// 设置商品类别
	properties.Add("ProductCatalog", "Laptop Computer");
	// 触发 BuyProduct 事件
	SensorsDataAPI.Track("BuyProduct", properties);
}
catch (Exception ex)
{
	//handle exception
}
上一个
Unity SDK
下一个
基础 API 介绍(Unity)
最近修改: 2024-12-27