Skip to content

growingio/GrowingSDK-Unity-GameTrack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GrowingSDK-Unity-GameTrack

GrowingIO Unity 平台埋点SDK

一. 介绍

API列表

事件类型以及对应函数如下

  1. 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)
  2. 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)
  3. 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)
  4. SetVisitor:设置访问用户变量,对应于vstr事件,提供函数如下:

    public static void SetVisitor(Dictionary<string, object> variable)
  5. SetUserId:设置登录用户Id,对应于cs1字段,提供函数如下:

    public static void SetUserId(string userId)
  6. 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是否正常工作

验证内容
  1. 验证打点事件是否发送成功
验证工具
  1. Unity导出原生应用后,利用Mobile Debuuger查看
  2. Android查看日志:设置TestModeDebugMode:
GrowingIO.startWithConfiguration(this,new Configuration()
    //BuildConfig.DEBUG 这样配置就不会上线忘记关闭
    .setDebugMode(BuildConfig.DEBUG)
    .setTestMode(true)
    ...
    );
  1. iOS查看日志:iOS在UnityAppController.mm 文件中如下方法中打开日志:
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
    //打开日志
    [Growing setEnableLog:YES];
    return YES;
}

二. 集成步骤

Android 端

  1. 将最新的Unity埋点SDK vds-android-agent-game-track.jar导入 Unity 项目目录Assets/Plugins/Android/
  2. 在Android工程的ApplicationonCreate方法中初始化GrowingIO
public class GameApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        GrowingIO.startWithConfiguration(this, new Configuration()     
            .setProjectId("xxxxx")
            .setURLScheme("growing.xxxxx")
            .setDebugMode(true));
        );
    }
}
  1. LAUNCHER ActivityonNewIntent方法中调用public GrowingIO onNewIntent(Activity activity, Intent intent)API。如果使用的是Unity默认的UnityPlayerActivityLAUNCHER Activity,请自定义一个LAUNCHER Activity
  2. 添加AndroidManifest.xml文件到 Unity 项目目录Assets/Plugins/Android/,并注意修改AndroidManifest.xml${您的APP包名}等关键字
  3. 更多细节请参看UnityDemoAndroid原生端埋点SDK文档

iOS端

  1. 将最新的埋点SDK GrowingCoreKit.framework 导入 Unity 项目目录 Assets/Plugins/iOS/
  2. BuildPostProcessor 脚本文件导入 Unity 项目目录 Assets/Editor
  3. 配置 URLScheme:将在GrowingIO官网申请到的应用的 URL Scheme 填入到 BuildPostProcessor 中的 AddInfoPlist(path, "XXXXX"); XXXXX 处并保存
  4. Unity 工程中可以通过 GrowingIOGame.cs脚本调用指定的埋点方法
  5. 初始化埋点SDK:Unity 导出 Xcode 工程后,通过在GrowingIO官网申请到项目ID,在 UnityAppController.mm 文件中的代码方法中完成初始化
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
     [Growing startWithAccountId:@"xxxxx"];
     return YES;
}
  1. 更多细节请参考UnityDemoiOS原生端埋点SDK文档

About

GrowingIO Unity 平台埋点SDK

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published