1.4.1 Adjust部分数据分析
1.4.1.1 普通事件数据传递
说明
PM会在Adjust后台提前定义好事件,Demo中会有完整的事件Token,针对不同的事件需要调用不同的eventToken。
接口
-(void) adjustPlayerEventCalledWithEventToken:(NSString*) eventToken;
参数说明
eventToken:Adjust后台定义好的事件Token
示例
[mCydoniaSDK adjustPlayerEventCalledWithEventToken:AdjustEventToken_AccountRegist];
[mCydoniaSDK adjustPlayerEventCalledWithEventToken:AdjustEventToken_TutorialComplete];
[mCydoniaSDK adjustPlayerEventCalledWithEventToken:AdjustEventToken_TwitterShare];
1.4.1.2 充值事件数据传递
说明
完成充值后需要调用此API
接口
-(void) adjustPlayerIapEventCalledWithEventToken:(NSString*) eventToken andProductPrice:(NSString*)proiductPrice andCurrency:(NSString*)currency andReceiptId:(NSString*)receiptId;
参数说明
eventToken:Adjust后台定义好的事件Token
示例
[mCydoniaSDK adjustPlayerIapEventCalledWithEventToken:AdjustEventToken_InAppBilling andProductPrice:@"240.0" andCurrency:@"JPY" andReceiptId:@"12344"];
1.4.2 Cydonia平台数据分析
1.4.2.0新用户注册数据埋点(2019-07-02追加)
说明
另外,一般默认玩家注册完成后初始等级是1级,游戏还需调用一次 "玩家升级数据埋点",否则统计数据看不到1级玩家
调用场景
接口
[mCydoniaSDK cydoniaPlayerRegistWithAppVersion:@"1.0.0.1" andGameServerId:@"1" andGameUserId:@"123456" andGameUserRoleId:@"6666"];
参数说明
currentAppVersion:当前客户端版本号
gameUserId:当前游戏服务器生成的玩家总ID(与SDK生成的玩家ID应该是一对一关系)
gameUserRoleId:当前玩家进入服务器的角色ID
1.4.2.1 登录完成数据传递
说明
此API记录玩家登陆信息用来统计活跃用户和活跃设备。
调用场景:
游戏打开后只要完成初始化也调用一次(打开游戏就算活跃)
接口
-(void) cydoniaPlayerLoginWithAppVersion:(NSString*)currentAppVersion andGameServerId:(NSString*)gameServerId andGameUserId:(NSString*)gameUserId andGameUserRoleId:(NSString*)gameUserRoleId;
参数说明
currentAppVersion:当前客户端版本号
gameUserId:当前游戏服务器生成的玩家总ID(与SDK生成的玩家ID应该是一对一关系)
gameUserRoleId:当前玩家进入服务器的角色ID
示例
[mCydoniaSDK cydoniaPlayerLoginWithAppVersion:@"1.0.0.1" andGameServerId:@"1" andGameUserId:@"123456" andGameUserRoleId:@"6666"];
1.4.2.2 新手教学开始数据传递
说明
玩家开始新手教学时调用此接口
接口
-(void) cydoniaPlayerTutorialBeginWithAppVersion:(NSString*)currentAppVersion andGameServerId:(NSString*)gameServerId andGameUserId:(NSString*)gameUserId andGameUserRoleId:(NSString*)gameUserRoleId;
参数说明
currentAppVersion:当前客户端版本号
gameUserId:当前游戏服务器生成的玩家总ID(与SDK生成的玩家ID应该是一对一关系)
gameUserRoleId:当前玩家进入服务器的角色ID
示例
[mCydoniaSDK cydoniaPlayerTutorialBeginWithAppVersion:@"1.0.0.1" andGameServerId:@"1" andGameUserId:@"123456" andGameUserRoleId:@"6666"];
1.4.2.3 新手教学完成数据传递
说明
玩家新手教学完成之后调用此接口
接口
-(void) cydoniaPlayerTutorialCompleteWithAppVersion:(NSString*)currentAppVersion andGameServerId:(NSString*)gameServerId andGameUserId:(NSString*)gameUserId andGameUserRoleId:(NSString*)gameUserRoleId;
参数说明
currentAppVersion:当前客户端版本号
gameUserId:当前游戏服务器生成的玩家总ID(与SDK生成的玩家ID应该是一对一关系)
gameUserRoleId:当前玩家进入服务器的角色ID
示例
[mCydoniaSDK cydoniaPlayerTutorialCompleteWithAppVersion:@"1.0.0.1" andGameServerId:@"1" andGameUserId:@"123456" andGameUserRoleId:@"6666"];
1.4.2.4 玩家升级数据传递
说明
玩家等级提升时调用此API。
***一般默认玩家初始等级是1级,在玩家注册完成时,需要调用此接口将初始等级传递到服务器,否则统计数据没有初始等级。
接口
-(void) cydoniaPlayerLevelUpWithAppVersion:(NSString*)currentAppVersion andGameServerId:(NSString*)gameServerId andGameUserId:(NSString*)gameUserId andGameUserRoleId:(NSString*)gameUserRoleId andReachedLevel:(NSString*)currentLevel;
参数说明
currentAppVersion:当前客户端版本号
gameUserId:当前游戏服务器生成的玩家总ID(与SDK生成的玩家ID应该是一对一关系)
gameUserRoleId:当前玩家进入服务器的角色ID
示例
[mCydoniaSDK cydoniaPlayerLevelUpWithAppVersion:@"1.0.0.1" andGameServerId:@"1" andGameUserId:@"123456" andGameUserRoleId:@"6666" andReachedLevel:@"11"];
1.4.2.5 玩家过关数据传递(废弃)
说明
玩家PVE过关之后调用此API
接口
-(void) cydoniaPlayerCompleteStageWithAppVersion:(NSString*)currentAppVersion andGameServerId:(NSString*)gameServerId andGameUserId:(NSString*)gameUserId andGameUserRoleId:(NSString*)gameUserRoleId andCompleteStage:(NSString*)currentStage;
参数说明
currentAppVersion:当前客户端版本号
gameUserId:当前游戏服务器生成的玩家总ID(与SDK生成的玩家ID应该是一对一关系)
gameUserRoleId:当前玩家进入服务器的角色ID
currentStage:玩家的过的当前关卡。关卡ID必须唯一。如果PVE分第几章和第几节等,每一节ID需要全章唯一。例如,完成了第1章第12节的Stage设定为"112",完成了第11章第2节的Stage需要设定为"1102",一般关卡ID=章ID*100+节ID示例
1.4.2.6 玩家获得虚拟第一货币数据传递(废弃)
说明
玩家每次获得了游戏第一资源的时候调用此API
接口
-(void) cydoniaPlayerVCurrencyInWithAppVersion:(NSString*)currentAppVersion andGameServerId:(NSString*)gameServerId andGameUserId:(NSString*)gameUserId andGameUserRoleId:(NSString*)gameUserRoleId andVCurrencyName:(NSString*)vCurrencyName andVCurrencyVal:(NSString*)vCurrencyVal andVCurrencyType:(NSString*)vCurrencyType andVCurrencyInMethod:(NSString*)vCurrencyInMethod;
参数说明
currentAppVersion:当前客户端版本号
gameUserId:当前游戏服务器生成的玩家总ID(与SDK生成的玩家ID应该是一对一关系)
gameUserRoleId:当前玩家进入服务器的角色ID
VCurrencyName:传入玩家获取的资源名称,比如diamond等等
VCurrencyVal:传入玩家获取的第一虚拟货币的数量
VCurrencyType:虚拟货币类型 1:用钱购买的虚拟货币 2:免费获取的虚拟货币
VCurrencyInMethod:1.氪金获得 2.活动获得 3.系统赠送 4.任务完成获得 5.使用兑换码获得, 如果有其他方式请联系程序
示例
/*
VCurrencyName 传入玩家获取的资源名称
VCurrencyVal 传入玩家获取的资源数量,比如钻石,元宝等等
VCurrencyType 虚拟货币类型 1:用钱购买的资源 2:免费获取的资源
VCurrencyInMethod 1.氪金获得 2.活动获得 3.系统赠送 4.任务完成获得 5.使用兑换码获得, 如果有其他方式请联系程序
*/
[mCydoniaSDK cydoniaPlayerVCurrencyInWithAppVersion:@"1.0.0.1" andGameServerId:@"1" andGameUserId:@"123456" andGameUserRoleId:@"6666" andVCurrencyName:@"diamond" andVCurrencyVal:@"100" andVCurrencyType:@"1" andVCurrencyInMethod:@"3"];
1.4.2.7 玩家消耗虚拟第一货币数据传递(废弃)
说明
玩家每次消耗游戏第一资源的时候调用此API。优先消耗免费获得的第一资源。
接口
-(void) cydoniaPlayerVCurrencyOutWithAppVersion:(NSString*)currentAppVersion andGameServerId:(NSString*)gameServerId andGameUserId:(NSString*)gameUserId andGameUserRoleId:(NSString*)gameUserRoleId andVCurrencyName:(NSString*)vCurrencyName andVCurrencyVal:(NSString*)vCurrencyVal andVCurrencyType:(NSString*)vCurrencyType andPaidItemCategory:(NSString*)paidItemCategory andPaidItemName:(NSString*)paidItemName;
参数说明
currentAppVersion:当前客户端版本号
gameUserId:当前游戏服务器生成的玩家总ID(与SDK生成的玩家ID应该是一对一关系)
gameUserRoleId:当前玩家进入服务器的角色ID
VCurrencyName:传入玩家消耗的虚拟第一货币名称,比如diamond等等
VCurrencyVal:传入玩家消耗的虚拟第一货币数量
VCurrencyType:虚拟货币类型 1:用钱购买的 2:免费获取的
VCurrencyPaidItemCategory:花费在哪些类型 1.道具 2.抽奖 3.建筑加速, 4:买基础资源 如果有其他方式请联系程序,统计要用
VCurrencyPaidItemName:花费在该类型下的具体哪个道具/哪个卡池/哪个建筑/资源ID
示例
例如:玩家在游戏中的钻石有1000,购买获得的是400,通过游戏活动获得的是600。要购买道具消耗700钻石的时候消耗的是600免费钻石加上100充值钻石。优先消耗免费获得的钻石。
[mCydoniaSDK cydoniaPlayerVCurrencyOutWithAppVersion:@"1.0.0.1" andGameServerId:@"1" andGameUserId:@"123456" andGameUserRoleId:@"6666" andVCurrencyName:@"diamond" andVCurrencyVal:@"50" andVCurrencyType:@"2" andPaidItemCategory:@"1" andPaidItemName:@"item2"];
1.4.2.8 玩家完成充值数据传递
说明
玩家完成了充值时调用此API
接口
-(void) cydoniaPlayerBillingWithAppVersion:(NSString*)currentAppVersion andGameServerId:(NSString*)gameServerId andGameUserId:(NSString*)gameUserId andGameUserRoleId:(NSString*)gameUserRoleId andProductId:(NSString*)productId andProductPrice:(NSString*)proiductPrice andCurrency:(NSString*)currency andReceiptId:(NSString*)receiptId andGameUserLevel:(NSString*)gameUserLevel;
参数说明
currentAppVersion:当前客户端版本号
gameUserId:当前游戏服务器生成的玩家总ID(与SDK生成的玩家ID应该是一对一关系)
gameUserRoleId:当前玩家进入服务器的角色ID
receiptId:收据ID (iOS使用MD5(iOS返回的收据)|AppleOrderId,Android使用充值返回数据中的GoogleOrderId)
示例
[mCydoniaSDK cydoniaPlayerBillingWithAppVersion:@"1.0.0.1" andGameServerId:@"1" andGameUserId:@"123456" andGameUserRoleId:@"6666" andProductId:@"com.cydonia.item1" andProductPrice:@"240" andCurrency:@"JPY" andReceiptId:@"aaaaaa"];
iOS md5算法如下:
#pragma mark md5加密算法
- (NSString *)md5HexDigest:(NSString *)knownStr
{
const char *original_str = [knownStr UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(original_str, (CC_LONG)strlen(original_str), result);
NSMutableString *hash = [NSMutableString string];
for (int i = 0; i < 16; i++)
[hash appendFormat:@"%02X", result[i]];
return [hash lowercaseString];
}
1.4.2.9 玩家持续在线1分钟数据传递
说明
客户端在前台每一分钟调用一次此API
接口
-(void) cydoniaPlayerHeartBeatWithAppVersion:(NSString*)currentAppVersion andGameServerId:(NSString*)gameServerId andGameUserId:(NSString*)gameUserId andGameUserRoleId:(NSString*)gameUserRoleId;
参数说明
currentAppVersion:当前客户端版本号
gameUserId:当前游戏服务器生成的玩家总ID(与SDK生成的玩家ID应该是一对一关系)
gameUserRoleId:当前玩家进入服务器的角色ID
示例