Appearance
iOS埋点接入指南
WARNING
游戏层接入U8SDK行为日志/统计插件接口后,需要通过打包工具打入具体的行为日志/统计插件SDK,才能统计到数据。
目前支持的统计/埋点SDK如下:
插件SDK名称 | SDK目录 |
---|---|
友盟统计 | UmengAction |
基础SDK配置
埋点插件接入,依赖U8聚合SDK。 如果还没有按U8聚合SDK接入文档进行配置,请先接入U8SDK。
在接入文件中,引入头文件
objc
#import <U8SDKCore/U8SDKCore.h>
账号注册
在玩家注册成功的时候调用账号注册埋点上报接口。 如果游戏层没有特殊需求, 可以在收到聚合SDK登录监听中的OnUserLogin
回调,并判断UToken中newAccount为1时调用:
objc
[[U8Action sharedInstance] userRegister:@{
U8_ACTION_KEY_SUCCESS:@"1",
U8_ACTION_KEY_METHOD: @"channel"
}];
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
U8_ACTION_KEY_SUCCESS | int | 行为是否成功, 1: 成功;0:失败 |
U8_ACTION_KEY_METHOD | String | 注册方式,默认:channel |
登录
在玩家登陆成功的时候调用登录埋点上报接口,如果游戏层没有特殊需求,可以在收到聚合SDK登录监听中的OnUserLogin
回调时调用:
objc
[[U8Action sharedInstance] login:@{
U8_ACTION_KEY_SUCCESS:@"1",
U8_ACTION_KEY_METHOD:@"channel"
}];
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
U8_ACTION_KEY_SUCCESS | int | 行为是否成功, 1: 成功;0:失败 |
U8_ACTION_KEY_METHOD | String | 注册方式,比如wechat等 |
角色创建
在玩家创建角色成功时调用角色创建埋点接口。如果游戏没有角色概念,可以在游戏自己的账号生成之后调用:
objc
[[U8Action sharedInstance] createRole:@{
U8_ACTION_KEY_SUCCESS: @"1",
U8_ACTION_KEY_SERVERID: @"1",
U8_ACTION_KEY_SERVER_NAME:@"一区",
U8_ACTION_KEY_ROLEID:@"1",
U8_ACTION_KEY_ROLE_NAME:@"天下第一",
U8_ACTION_KEY_ROLE_LEVEL:@"99"
}];
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
U8_ACTION_KEY_SUCCESS | boolean | 行为是否成功, 1: 成功;0:失败 |
U8_ACTION_KEY_SERVERID | String | 服务器ID |
U8_ACTION_KEY_SERVER_NAME | String | 服务器名称 |
U8_ACTION_KEY_ROLEID | String | 角色ID |
U8_ACTION_KEY_ROLE_NAME | String | 角色名称 |
U8_ACTION_KEY_ROLE_LEVEL | String | 角色等级 |
进入游戏
在玩家进入游戏内时,调用进入游戏埋点接口:
objc
[[U8Action sharedInstance] enterGame:@{
U8_ACTION_KEY_SUCCESS: @"1",
U8_ACTION_KEY_SERVERID: @"1",
U8_ACTION_KEY_SERVER_NAME:@"一区",
U8_ACTION_KEY_ROLEID:@"1",
U8_ACTION_KEY_ROLE_NAME:@"天下第一",
U8_ACTION_KEY_ROLE_LEVEL:@"99"
}];
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
U8_ACTION_KEY_SUCCESS | boolean | 行为是否成功, 1: 成功;0:失败 |
U8_ACTION_KEY_SERVERID | String | 服务器ID |
U8_ACTION_KEY_SERVER_NAME | String | 服务器名称 |
U8_ACTION_KEY_ROLEID | String | 角色ID |
U8_ACTION_KEY_ROLE_NAME | String | 角色名称 |
U8_ACTION_KEY_ROLE_LEVEL | String | 角色等级 |
等级提升
在玩家角色等级升级时,调用等级提升埋点接口:
objc
[[U8Action sharedInstance] levelUp:@{
U8_ACTION_KEY_SUCCESS: @"1",
U8_ACTION_KEY_SERVERID: @"1",
U8_ACTION_KEY_SERVER_NAME:@"一区",
U8_ACTION_KEY_ROLEID:@"1",
U8_ACTION_KEY_ROLE_NAME:@"天下第一",
U8_ACTION_KEY_ROLE_LEVEL:@"100"
}];
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
U8_ACTION_KEY_SUCCESS | boolean | 行为是否成功, 1: 成功;0:失败 |
U8_ACTION_KEY_SERVERID | String | 服务器ID |
U8_ACTION_KEY_SERVER_NAME | String | 服务器名称 |
U8_ACTION_KEY_ROLEID | String | 角色ID |
U8_ACTION_KEY_ROLE_NAME | String | 角色名称 |
U8_ACTION_KEY_ROLE_LEVEL | String | 角色等级 |
充值
当玩家在游戏中付费成功时调用, 如果游戏层没有特殊需求, 可以在收到聚合SDK支付监听中OnEventWithCode
中调用:
objc
[[U8Action sharedInstance] purchase:@{
U8_ACTION_KEY_SUCCESS: @"1",
U8_ACTION_KEY_SERVERID: @"1",
U8_ACTION_KEY_SERVER_NAME:@"一区",
U8_ACTION_KEY_ROLEID:@"1",
U8_ACTION_KEY_ROLE_NAME:@"天下第一",
U8_ACTION_KEY_ROLE_LEVEL:@"100",
U8_ACTION_KEY_PRODUCT_TYPE: @"礼包",
U8_ACTION_KEY_PRODUCTID: @"p1",
U8_ACTION_KEY_PRODUCT_NAME: @"60钻石",
U8_ACTION_KEY_PRODUCT_NUM: @"1",
U8_ACTION_KEY_PAY_TYPE: @"channel",
U8_ACTION_KEY_CURRENCY: @"CNY",
U8_ACTION_KEY_PRICE: @"600", //fen
U8_ACTION_KEY_ORDERID: @"542rwer223244"
}];
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
U8_ACTION_KEY_SUCCESS | boolean | 行为是否成功, 1: 成功;0:失败 |
U8_ACTION_KEY_SERVERID | String | 服务器ID |
U8_ACTION_KEY_SERVER_NAME | String | 服务器名称 |
U8_ACTION_KEY_ROLEID | String | 角色ID |
U8_ACTION_KEY_ROLE_NAME | String | 角色名称 |
U8_ACTION_KEY_ROLE_LEVEL | String | 角色等级 |
U8_ACTION_KEY_PRODUCT_TYPE | String | 商品类型,比如礼包,首冲,充值项 |
U8_ACTION_KEY_PRODUCTID | String | 商品ID |
U8_ACTION_KEY_PRODUCT_NAME | String | 商品名称 |
U8_ACTION_KEY_PRODUCT_NUM | String | 商品数量 |
U8_ACTION_KEY_PAY_TYPE | String | 支付方式,比如alipay等,如果获取不到,可以传channel |
U8_ACTION_KEY_CURRENCY | String | 币种,默认CNY |
U8_ACTION_KEY_PRICE | String | 金额:单位分 |
U8_ACTION_KEY_ORDERID | String | 游戏唯一订单号 |
购买行为
当玩家在游戏中购买道具的时候调用。 通常是玩家使用游戏币购买道具的时候,比如玩家用钻石购买了XXX礼包,购买了XXX道具等。
objc
[[U8Action sharedInstance] buy:@{
U8_ACTION_KEY_SUCCESS: @"1",
U8_ACTION_KEY_SERVERID: @"1",
U8_ACTION_KEY_SERVER_NAME:@"一区",
U8_ACTION_KEY_ROLEID:@"1",
U8_ACTION_KEY_ROLE_NAME:@"天下第一",
U8_ACTION_KEY_ROLE_LEVEL:@"100",
U8_ACTION_KEY_BUY_TYPE: @"基金",
U8_ACTION_KEY_TARGET_ID: @"1",
U8_ACTION_KEY_TARGET_NAME: @"100基金",
U8_ACTION_KEY_TARGET_NUM: @"100",
U8_ACTION_KEY_V_CURRENCY: @"1",
U8_ACTION_KEY_V_CUREENCY_NAME: @"钻石",
U8_ACTION_KEY_CURRENCY: @"个",
U8_ACTION_KEY_COST: @"10"
}];
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
U8_ACTION_KEY_SUCCESS | boolean | 行为是否成功, 1: 成功;0:失败 |
U8_ACTION_KEY_SERVERID | String | 服务器ID |
U8_ACTION_KEY_SERVER_NAME | String | 服务器名称 |
U8_ACTION_KEY_ROLEID | String | 角色ID |
U8_ACTION_KEY_ROLE_NAME | String | 角色名称 |
U8_ACTION_KEY_ROLE_LEVEL | String | 角色等级 |
U8_ACTION_KEY_BUY_TYPE | String | 购买类型,比如礼包,基金等 |
U8_ACTION_KEY_TARGET_ID | String | 购买项的ID |
U8_ACTION_KEY_TARGET_NAME | String | 购买项的名称,比如XX礼包 |
U8_ACTION_KEY_TARGET_NUM | String | 购买数量 |
U8_ACTION_KEY_V_CURRENCY | String | 是否虚拟币单位,一般设置为true |
U8_ACTION_KEY_V_CUREENCY_NAME | String | 虚拟币名称,比如钻石 |
U8_ACTION_KEY_CURRENCY | String | 币种单位,比如“个” |
U8_ACTION_KEY_COST | String | 耗费的虚拟币个数,比如花费100钻石购买了一个礼包,这里填100 |
任务关卡
当玩家在游戏中完成某项任务、关卡、新手引导等地方调用。
objc
[[U8Action sharedInstance] task:@{
U8_ACTION_KEY_SUCCESS: @"1",
U8_ACTION_KEY_SERVERID: @"1",
U8_ACTION_KEY_SERVER_NAME:@"一区",
U8_ACTION_KEY_ROLEID:@"1",
U8_ACTION_KEY_ROLE_NAME:@"天下第一",
U8_ACTION_KEY_ROLE_LEVEL:@"100",
U8_ACTION_KEY_TASK_TYPE: @"关卡",
U8_ACTION_KEY_TASKID: @"1",
U8_ACTION_KEY_TASK_NAME: @"第一关:新手村",
U8_ACTION_KEY_TASK_LEVEL: @"1",
U8_ACTION_KEY_TASK_DESC: @"简单难度关卡"
}];
SDKParams参数内容:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
U8_ACTION_KEY_SUCCESS | boolean | 行为是否成功, 1: 成功;0:失败 |
U8_ACTION_KEY_SERVERID | String | 服务器ID |
U8_ACTION_KEY_SERVER_NAME | String | 服务器名称 |
U8_ACTION_KEY_ROLEID | String | 角色ID |
U8_ACTION_KEY_ROLE_NAME | String | 角色名称 |
U8_ACTION_KEY_ROLE_LEVEL | String | 角色等级 |
U8_ACTION_KEY_TASK_TYPE | String | 任务类型,比如任务、关卡、新手引导等 |
U8_ACTION_KEY_TASKID | String | 任务ID |
U8_ACTION_KEY_TASK_NAME | String | 任务名称 |
U8_ACTION_KEY_TASK_LEVEL | String | 任务难度或者等级等信息 |
U8_ACTION_KEY_TASK_DESC | String | 任务描述 |
自定义上报
游戏中需要自定义其他行为的上报时调用:
objc
[[U8Action sharedInstance] customEventWithName:@"customEvent" params:@{
@"param1": @"1",
@"param2": @"2"
}];
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
name | String | 自定义事件的名称 |
params | String | 自定义事件的数据,NSDictionary格式 |