Appearance
Android埋点接入指南
WARNING
游戏层接入U8SDK行为日志/统计插件接口后,需要通过打包工具打入具体的行为日志/统计插件SDK,才能统计到数据。
目前支持的统计/埋点SDK如下:
插件SDK名称 | SDK目录 |
---|---|
友盟统计 | umengaction |
头条买量埋点上报 | toutiaoaction |
腾讯广点通埋点上报 | tengxunaction |
热云 | reyunaction |
快手埋点上报 | kuaishouaction |
百度埋点上报 | baiduaction |
Appsflyer埋点上报 | appsflyeraction |
基础SDK配置
埋点插件接入,依赖U8聚合SDK。 如果还没有按U8聚合SDK接入文档进行配置,请先接入U8SDK。
所有埋点API的调用,都通过com.u8.sdk.plugin.U8Action
来调用。
初始化
在游戏主Activity的onCreate中,调用初始化接口:
java
U8Action.getInstance().init();
账号注册
在玩家注册成功的时候调用账号注册埋点上报接口。 如果游戏层没有特殊需求, 可以在收到聚合SDK初始化监听中的onLoginResult
回调,并判断UToken中newAccount为1时调用:
java
U8Action.getInstance().register(SDKParams params);
SDKParams参数内容:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
IAction.CommonKey.IsSuccess | boolean | 行为是否成功 |
IAction.RegisterKey.Method | String | 注册方式,默认:channel |
IAction.RegisterKey.UserId | String | 注册成功之后返回的用户ID,如果没有,可以用com.u8.sdk.utils.GUtils.getDeviceID()获取设备ID传入 |
登录
在玩家登陆成功的时候调用登录埋点上报接口,如果游戏层没有特殊需求,可以在收到聚合SDK初始化监听中的onLoginResult
回调时调用:
java
U8Action.getInstance().login(SDKParams params);
SDKParams参数内容:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
IAction.CommonKey.IsSuccess | boolean | 行为是否成功 |
IAction.LoginKey.Method | String | 登陆方式,比如wechat等 |
角色创建
在玩家创建角色成功时调用角色创建埋点接口。如果游戏没有角色概念,可以在游戏自己的账号生成之后调用:
java
U8Action.getInstance().createRole(SDKParams params);
SDKParams参数内容:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
IAction.CommonKey.IsSuccess | boolean | 行为是否成功 |
IAction.RoleKey.ServerID | String | 服务器ID |
IAction.RoleKey.ServerName | String | 服务器名称 |
IAction.RoleKey.RoleID | String | 角色ID |
IAction.RoleKey.RoleName | String | 角色名称 |
IAction.RoleKey.RoleLevel | String | 角色等级 |
进入游戏
在玩家进入游戏内时,调用进入游戏埋点接口:
java
U8Action.getInstance().enterGame(SDKParams params);
SDKParams参数内容:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
IAction.CommonKey.IsSuccess | boolean | 行为是否成功 |
IAction.RoleKey.ServerID | String | 服务器ID |
IAction.RoleKey.ServerName | String | 服务器名称 |
IAction.RoleKey.RoleID | String | 角色ID |
IAction.RoleKey.RoleName | String | 角色名称 |
IAction.RoleKey.RoleLevel | String | 角色等级 |
等级提升
在玩家角色等级升级时,调用等级提升埋点接口:
U8Action.getInstance().levelUp(SDKParams params);
SDKParams参数内容:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
IAction.CommonKey.IsSuccess | boolean | 行为是否成功 |
IAction.RoleKey.ServerID | String | 服务器ID |
IAction.RoleKey.ServerName | String | 服务器名称 |
IAction.RoleKey.RoleID | String | 角色ID |
IAction.RoleKey.RoleName | String | 角色名称 |
IAction.RoleKey.RoleLevel | String | 角色等级 |
充值
当玩家在游戏中付费成功时调用, 如果游戏层没有特殊需求, 可以在收到聚合SDK初始化监听中onPayResult
中调用:
java
U8Action.getInstance().purchase(SDKParams params);
SDKParams参数内容:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
IAction.CommonKey.IsSuccess | boolean | 行为是否成功 |
IAction.RoleKey.ServerID | String | 服务器ID |
IAction.RoleKey.ServerName | String | 服务器名称 |
IAction.RoleKey.RoleID | String | 角色ID |
IAction.RoleKey.RoleName | String | 角色名称 |
IAction.RoleKey.RoleLevel | String | 角色等级 |
IAction.PurchaseKey.ProductType | String | 商品类型,比如礼包,首冲,充值项 |
IAction.PurchaseKey.ProductID | String | 商品ID |
IAction.PurchaseKey.ProductName | String | 商品名称 |
IAction.PurchaseKey.ProductNum | String | 商品数量 |
IAction.PurchaseKey.PayType | String | 支付方式,比如alipay等,如果获取不到,可以传channel |
IAction.PurchaseKey.Currrency | String | 币种,默认CNY |
IAction.PurchaseKey.Price | String | 金额:单位分 |
IAction.PurchaseKey.OrderID | String | 游戏唯一订单号 |
购买行为
当玩家在游戏中购买道具的时候调用。 通常是玩家使用游戏币购买道具的时候,比如玩家用钻石购买了XXX礼包,购买了XXX道具等。
java
U8Action.getInstance().buy(SDKParams params);
SDKParams参数内容:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
IAction.CommonKey.IsSuccess | boolean | 行为是否成功 |
IAction.RoleKey.ServerID | String | 服务器ID |
IAction.RoleKey.ServerName | String | 服务器名称 |
IAction.RoleKey.RoleID | String | 角色ID |
IAction.RoleKey.RoleName | String | 角色名称 |
IAction.RoleKey.RoleLevel | String | 角色等级 |
IAction.BuyKey.BuyType | String | 购买类型,比如礼包,基金等 |
IAction.BuyKey.TargetID | String | 购买项的ID |
IAction.BuyKey.TargetName | String | 购买项的名称,比如XX礼包 |
IAction.BuyKey.TargetNum | String | 购买数量 |
IAction.BuyKey.IsVirtualCurrency | String | 是否虚拟币单位,一般设置为true |
IAction.BuyKey.VirtualCurrencyName | String | 虚拟币名称,比如钻石 |
IAction.BuyKey.Currency | String | 币种单位,比如“个” |
IAction.BuyKey.CostAmount | String | 耗费的虚拟币个数,比如花费100钻石购买了一个礼包,这里填100 |
任务关卡
当玩家在游戏中完成某项任务、关卡、新手引导等地方调用。
java
U8Action.getInstance().task(SDKParams params);
SDKParams参数内容:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
IAction.CommonKey.IsSuccess | boolean | 行为是否成功 |
IAction.RoleKey.ServerID | String | 服务器ID |
IAction.RoleKey.ServerName | String | 服务器名称 |
IAction.RoleKey.RoleID | String | 角色ID |
IAction.RoleKey.RoleName | String | 角色名称 |
IAction.RoleKey.RoleLevel | String | 角色等级 |
IAction.TaskKey.TaskType | String | 任务类型,比如任务、关卡、新手引导等 |
IAction.TaskKey.TaskID | String | 任务ID |
IAction.TaskKey.TaskName | String | 任务名称 |
IAction.TaskKey.TaskLevel | String | 任务难度或者等级等信息 |
IAction.TaskKey.TaskDesc | String | 任务描述 |
自定义上报
游戏中需要自定义其他行为的上报时调用:
java
U8Action.getInstance().customEvent(String name, SDKParams params);
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
name | String | 自定义事件的名称 |
params | String | 自定义事件的数据,key-value格式 |