准备事项:
1.下载TapTap SDK最新版本。
2.准备好开发工具。
3.注册TapTap 开发者。
4.在开发者后台,提开启防沉迷的工单(记住这个一定要提,不然会有未通过提示哦)。
TapTap SDK 地址
资源下载 | TapTap 开发者文档中心,找到合适的SDK 下载即可。
新手引导接入文档
实名认证和防沉迷开发指南 | TapTap 开发者文档中心。
TapTap 开发文档
概览 | TapTap 开发者文档中心
这里以iOS接入为列子。
首先我们先初始化TapTap SDK。
详细可以见TapTap 开发文档。
首先初始化防沉迷,这里基本就照搬文档上的即可。
添加需要的头文件
#import
#import
NSString *gameIdentifier = @"游戏的 Client ID";
AntiAddictionConfiguration *config = [AntiAddictionConfiguration alloc];
// 是否启用消费限制功能
config.useSdkPaymentLimit = YES;
// 是否启用时长限制功能
config.useSdkOnlineTimeLimit = YES;
[AntiAddiction initGameIdentifier: gameIdentifier
antiAddictionConfig: config
antiAddictionCallbackDelegate: self
completionHandler: ^(BOOL success) {
if (success) {
// 初始化成功
NSLog(@"[ldyy taptap] 防沉迷初始化成功");
}
}];
Client ID
,可以在TapTap控制台查看(开发者中心 > 你的游戏 > 游戏服务 > 应用配置)。
平台登录成功开始调用验证防沉迷模块,代码如下:
///开始实名认证
///如果是taptap 登录 isTapLogin = YES, userId = @""
///其他登录 isTapLogin = NO, userid = 平台唯一用户标识符,这里我推荐 用平台的unionid来代替
-(void) startAddiction:(BOOL) isTapLogin userId:(NSString*)userId {
if(isTapLogin == YES) {
TTSDKAccessToken *accessToken = [TapLoginHelper currentAccessToken];
NSString *tapTapAccessToken = [accessToken toJsonString];
TTSDKProfile *currentUser = [TapLoginHelper currentProfile];;
NSString *userIdentifier = currentUser.unionid;
//开始防沉迷验证
[AntiAddiction startUpUseTapLogin: isTapLogin
userIdentifier: userIdentifier
tapAccesssToken: tapTapAccessToken];
}
else {
//第三方登录的防沉迷验证
[AntiAddiction startUpUseTapLogin: isTapLogin
userIdentifier: userId
tapAccesssToken: @""];
}
}
实现防沉迷模块的Callback:
这里别忘了添加 AntiAddictionDelegate
- (void)antiAddictionCallbackWithCode:(AntiAddictionResultHandlerCode)code extra:(NSString *)extra {
//AntiAddictionResultHandlerLoginSuccess = 500, //玩家登录后判断当前玩家可以进行游戏
//AntiAddictionResultHandlerLoginLogout = 1000, //退出账号
//AntiAddictionResultHandlerTimeLimit = 1030, //未成年玩家当前无法进行游戏
//AntiAddictionResultHandlerOpenAlert = 1095, //未成年允许游戏d窗
//AntiAddictionResultHandlerRealNameStop = 9002 //实名过程中点击了关闭实名窗
if(code == AntiAddictionResultHandlerLoginSuccess) {
//这里做防沉迷验证成功的回调,可以进入游戏或者其他 *** 作
}
else if(code == AntiAddictionResultHandlerLoginLogout) {
}
else if(code == AntiAddictionResultHandlerTimeLimit) {
//这里可以做无法进入游戏的提示或者其他 *** 作
}
else if(code == AntiAddictionResultHandlerOpenAlert) {
}
else if(code == AntiAddictionResultHandlerRealNameStop) {
//这里可以用来做关闭防沉迷界面后提示
}
//extra 的返回数据{"promptType":0,"extraSource":3,"forceOpen":false,"title":"","restrictType":0,"description":"登录成功","userType":18}
//主要参数介绍
//restrictType 限制类型 "0",无限制(成年玩家) "1",有限制(未成年玩家)
//description 显示给玩家的提示内容
//title 显示给玩家的提示标题
if([DGStringUtils isBlankString:extra]) {
return;
}
NSDictionary * dic = [JSONTool objectFromJSONString:extra];
NSInteger restrictType = (NSInteger) [dic objectForKey:@"restrictType"];
if(restrictType == 1) {
//这里可以来做未成年的各种判断,比如游戏剩余时间啥的。
}
}
最后独立游戏常用防沉迷的几个方法:
///获取玩家的年龄段
[AntiAddiction getCurrentUserAgeLimite];
///获取游戏剩余时间
[AntiAddiction getCurrentUserRemainTime];
///上报开始游戏
[AntiAddiction enterGame];
///上报离开游戏
[AntiAddiction leaveGame];
整理不易,关注收藏不迷路。
作者qq:84604891
qq群:680592435
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)