GrowingIO Unity 平台埋点SDK
事件类型以及对应函数如下
-
Track:发送自定义事件,对应于
cstm
事件,提供以下4个函数:public static void Track(string eventId) public static void Track(string eventId, double number) public static void Track(string eventId, Dictionary<string, object> variable) public static void Track(string eventId, double number, Dictionary<string, object> variable)
-
SetEvar:发送转化变量,对应于
evar
事件,提供以下3个函数:public static void SetEvar(string key, string value) public static void SetEvar(string key, double number) public static void SetEvar(Dictionary<string, object> variable)
-
SetPeopleVariable:发送用户变量,对应于
ppl
事件,提供以下3个函数:public static void SetPeopleVariable(string key, string value) public static void SetPeopleVariable(string key, double number) public static void SetPeopleVariable(Dictionary<string, object> variable)
-
SetVisitor:设置访问用户变量,对应于
vstr
事件,提供函数如下:public static void SetVisitor(Dictionary<string, object> variable)
-
SetUserId:设置登录用户Id,对应于
cs1
字段,提供函数如下:public static void SetUserId(string userId)
-
ClearUserId:清除登录用户Id,提供函数如下:
public static void ClearUserId()
参数限制条件
参数名称 | 限制条件 |
---|---|
eventId | 非空,长度限制小于等于50。 |
number | 非空。 |
variable | value 传入string 或者基本数值类型,对于嵌套的对应,会统一转换成string ,key 长度限制小于等于50,value长度小于等于1000。 |
userId | 长度限制小于等于1000;如果值为空则清空了登录用户变量,不建议这么用,请使用 clearUserId 清除登录用户变量。 |
调用示例
Unity
通过GrowingIOGame
类的函数来调用Native
的埋点API,调用方式如下:
//Track 设置自定义事件
GrowingIOGame.Track("StringTrack");
GrowingIOGame.Track("NumberTrack", 10);
//Track 设置自定义事件,传递字典参数
Dictionary<string, object> dictionary = new Dictionary<string, object> {{"key1", "value1"}, {"key2", 111}, {"key3", false}};
GrowingIOGame.Track("DictionaryTrack", dictionary);
Dictionary<string, object> dictionary = new Dictionary<string, object> {{"key1", "value1"}, {"key2", 111.11}};
GrowingIOGame.Track("NumberDictionaryTrack", 66.66, dictionary);
//SetEvar 设置转化变量
GrowingIOGame.SetEvar("EvarStringKey", "EvarString");
GrowingIOGame.SetEvar("EvarNumberKey", "100");
//SetEvar 设置转化变量,传递字典参数
Dictionary<string, object> dictionary = new Dictionary<string, object> {{"EvarKey1", "EvarValue1"}, {"EvarKey2", true}};
GrowingIOGame.SetEvar(dictionary);
//SetPeopleVariable 设置用户变量
GrowingIOGame.SetPeopleVariable("PeopleStringKey", "PeopleString");
GrowingIOGame.SetPeopleVariable("PeopleNumberKey", "PeopleNumber");
//SetPeopleVariable 设置用户变量,传递字典参数
Dictionary<string, object> dictionary = new Dictionary<string, object> {{"PeopleKey1", "PeopleValue1"}, {"PeopleKey2", 6.66}};
GrowingIOGame.SetPeopleVariable(dictionary);
//SetVisitor 设置访问用户变量,传递字典参数
Dictionary<string, object> dictionary = new Dictionary<string, object> {{"VisitorKey1", "VisitorValue1"}, {"VisitorKey2", false}};
GrowingIOGame.SetVisitor(dictionary);
//SetUserId 设置登录用户名称
GrowingIOGame.SetUserId("张三");
//ClearId 清除登录用户名称
GrowingIOGame.ClearUserId();
验证SDK是否正常工作
- 验证打点事件是否发送成功
Unity
导出原生应用后,利用Mobile Debuuger
查看Android
查看日志:设置TestMode
和DebugMode
:
GrowingIO.startWithConfiguration(this,new Configuration()
//BuildConfig.DEBUG 这样配置就不会上线忘记关闭
.setDebugMode(BuildConfig.DEBUG)
.setTestMode(true)
...
);
- iOS查看日志:iOS在
UnityAppController.mm
文件中如下方法中打开日志:
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
//打开日志
[Growing setEnableLog:YES];
return YES;
}
- 将最新的Unity埋点SDK
vds-android-agent-game-track.jar
导入 Unity 项目目录Assets/Plugins/Android/
- 在Android工程的
Application
的onCreate
方法中初始化GrowingIO
public class GameApp extends Application {
@Override
public void onCreate() {
super.onCreate();
GrowingIO.startWithConfiguration(this, new Configuration()
.setProjectId("xxxxx")
.setURLScheme("growing.xxxxx")
.setDebugMode(true));
);
}
}
- 在
LAUNCHER Activity
的onNewIntent
方法中调用public GrowingIO onNewIntent(Activity activity, Intent intent)
API。如果使用的是Unity默认的UnityPlayerActivity
为LAUNCHER Activity
,请自定义一个LAUNCHER Activity
。 - 添加
AndroidManifest.xml
文件到 Unity 项目目录Assets/Plugins/Android/
,并注意修改AndroidManifest.xml
中${您的APP包名}
等关键字 - 更多细节请参看UnityDemo和Android原生端埋点SDK文档
- 将最新的埋点SDK
GrowingCoreKit.framework
导入 Unity 项目目录Assets/Plugins/iOS/
中 - 将
BuildPostProcessor
脚本文件导入 Unity 项目目录Assets/Editor
中 - 配置 URLScheme:将在GrowingIO官网申请到的应用的
URL Scheme
填入到BuildPostProcessor
中的AddInfoPlist(path, "XXXXX");
XXXXX 处并保存 - Unity 工程中可以通过
GrowingIOGame.cs
脚本调用指定的埋点方法 - 初始化埋点SDK:Unity 导出 Xcode 工程后,通过在GrowingIO官网申请到项目ID,在
UnityAppController.mm
文件中的代码方法中完成初始化
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
[Growing startWithAccountId:@"xxxxx"];
return YES;
}
- 更多细节请参考UnityDemo和iOS原生端埋点SDK文档