集成文档(Unity)
|
收藏
版本兼容
- Unity Editor 5.5.5 及以上版本
- Xcode 12.1 及以上版本(iOS)
1. 集成 SDK
从 GitHub 下载 Unity SDK 最新资源包(.unitypackage 文件)
- 将上述文件通过 Assets → Import Package → Custom Package 添加到项目中
- 将 SensorsAnalytics 目录下的 SensorsAnalytics.prefab 预制体拖到需要加载的位置
- 配置 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 环境下上报数据。
2. 配置 Scheme(只支持 Android & iOS)
使用 Debug 实时查看等功能时,需要配置 scheme。如果在导出的原生工程中已配置,不需要在 Unity 中配置,此项可忽略。如果需要在 Unity 中配置 scheme,可以按照如下方法配置。
2.1. 获取 Scheme
- 项目的 Scheme 需要管理员账户进行获取
- App 工程中可以同时配置多个项目的 Scheme
2.2. 配置 Android 端 Scheme
在 Unity Editor 的 Assets/Plugins/Android 目录中添加 UnityPlayerActivity 的 AndroidManifest.xml 文件,内容如下,将 Scheme 替换为上步获取的值。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
<application>
<activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@style/UnityThemeSelector" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="您项目的 Scheme 值" />
</intent-filter>
</activity>
</application>
</manifest>
2.3. 配置 iOS 端 Scheme
在 Edit → Project Setting → Player → iOS tab → Other Settings → Supported URL schemes 中配置上面获取的值。
2.4. 添加脚本代码
在脚本(比如脚本类名为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 这三个版本。
3. 代码埋点追踪事件
当您完成 SDK 的配置后,可以通过 Track 方法追踪用户行为事件,并为事件添加自定义属性:
using SensorsDataAnalytics;
try
{
Dictionary<string, object> properties = new Dictionary<string, object>();
// 设置商品 ID
properties.Add("ProductID", 123456);
// 设置商品类别
properties.Add("ProductCatalog", "Laptop Computer");
// 触发 BuyProduct 事件
SensorsDataAPI.Track("BuyProduct", properties);
}
catch (Exception ex)
{
//handle exception
}
注:本文档内容为神策产品使用和技术细节说明文档,不包含适销类条款;具体企业采购产品和技术服务内容,以商业采购合同为准。