1. 第三方参数申请,请确认要接入的第三方广告变现渠道。
2. 接入对应 SuperSDK 广告变现接口。
注意:若游戏母包已经接入广告变现,需要将广告变现依赖的三方库从 Xcode 工程中移除后,再接入。
说明:iOS 国内广告变现暂不支持。
说明:海外广告变现目前支持 AdMob,游戏研发只需要按照以下文档接入。
注意:iOS 海外广告变现暂不支持 TradPlus。
接口描述:显示 GDPR 欧盟协议弹窗。
注意一:GDPR 是欧盟地区的政策需要,在弹出广告前,需要经过用户的授权同意,此接口为必须要接入。
注意二:在登录成功,进入游戏主界面后调用。
接口调用:
[SuperSDK invoke:@"ad_realize" funcName:@"openGDPR" parameters:nil];
接口描述:预加载广告视频,在初始化完成后调用。
接口调用:
NSString *platformType = @"AdMob"; // 平台类型(必填),目前支持:AdMob
NSString *adUnitId = @"0EFA5B2F4B03EB1135BDD21422027A67"; // 广告单元 ID(必填)
NSString *opgameId = @"123"; // 混服组 ID,如不能直接获取,默认使用 server_id 前 4 位(必填)
NSString *sceneId = @"4B437A3D90DCAD"; // 广告场景 ID(选填),没有则默认传空值
NSString *clientIp = @"192.168.1.1"; // 客户端 IP(选填),没有则默认传空值
NSDictionary *params = @{
@"platformType" : platformType,
@"adUnitId" : adUnitId,
@"sceneId" : sceneId,
@"clientIp" : clientIp,
@"opgameId" : opgameId
};
[SuperSDK invoke:@"ad_realize" funcName:@"preLoadAd" parameters:params];
接口回调:
- (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName result:(NSString *)result {
NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n result : %@", moduleName, funcName, result);
NSDictionary *retParam = nil;
if (result) {
NSData *jsonData = [result dataUsingEncoding:NSUTF8StringEncoding];
if (jsonData) {
retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
}
}
int code = [[retParam objectForKey:@"code"] intValue];
NSString *msg = [retParam objectForKey:@"msg"];
if ([moduleName isEqualToString:@"preLoadAd"]) {
if ([funcName isEqualToString:@"showAdRealize"]){
NSString *msg = retParam[@"msg"];
NSDictionary *dataDic = retParam[@"data"];
NSString *platformType = dataDic[@"platformType"];
NSString *os = dataDic[@"os"];
if (code == 1009){
NSLog(@"广告变现-预加载成功 聚合平台:%@ 系统:%@ 信息:%@",platformType,os,msg);
}
}
}
}
日志打印:
moduleName : ad_realize
funcName : preLoadAd
result : {
"msg":"AdMob 预加载成功",
"data":{
"adSourceName":"",
"adCountryCode":"",
"adRewardName":"",
"adUnitId":"0EFA5B2F4B03EB1135BDD21422027A67",
"adEcpm":"",
"adSceneId":"",
"os":"iOS",
"adSourceId":"",
"adLoadTime":"",
"platformType":"AdMob",
"adRewardNumber":"",
"adResponseId":"",
"adCurrencyCode":""
},
"code":1009
}
接口描述:弹出广告视频,在初始化完成后调用。
注意:该接口不强制依赖预加载,可直接调用。
接口调用:
NSString *platformType = @"AdMob"; // 平台类型(必填),目前支持:AdMob
NSString *adUnitId = @"0EFA5B2F4B03EB1135BDD21422027A67"; // 广告单元ID(必填)
NSString *opgameId = @"123"; // 混服组 ID,如不能直接获取,默认使用 server_id 前 4 位(必填)
NSString *sceneId = @"4B437A3D90DCAD"; // 广告场景 ID(选填),没有则默认传空值
NSString *clientIp = @"192.168.1.1"; // 客户端IP(选填),没有则默认传空值
NSDictionary *params = @{
@"platformType" : platformType,
@"adUnitId" : adUnitId,
@"sceneId" : sceneId,
@"clientIp" : clientIp,
@"opgameId" : opgameId
};
[SuperSDK invoke:@"ad_realize" funcName:@"showAdRealize" parameters:params];
接口回调:
- (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName result:(NSString *)result {
NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n result : %@", moduleName, funcName, result);
NSDictionary *retParam = nil;
if (result) {
NSData *jsonData = [result dataUsingEncoding:NSUTF8StringEncoding];
if (jsonData) {
retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
}
}
int code = [[retParam objectForKey:@"code"] intValue];
NSString *msg = [retParam objectForKey:@"msg"];
if ([moduleName isEqualToString:@"ad_realize"]) {
if ([funcName isEqualToString:@"showAdRealize"]){
NSString *msg = retParam[@"msg"];
NSDictionary *dataDic = retParam[@"data"];
NSString *platformType = dataDic[@"platformType"];
NSString *os = dataDic[@"os"];
if (code == 1006){
NSLog(@"广告变现,获取到了奖励 聚合平台:%@ 系统:%@ 信息:%@",platformType,os,msg);
}else{
NSLog(@"广告变现,其他情况 聚合平台:%@ 系统:%@ 信息:%@",platformType,os,msg);
}
}
}
}
日志打印:
moduleName : ad_realize,
funcName : showAdRealize,
result : {
"msg":"视频播放完成后,奖励验证回调",
"data":{
"adSourceName":"applovin",
"adCountryCode":"CN",
"adRewardName":"",
"adUnitId":"0EFA5B2F4B03EB1135BDD21422027A67",
"adEcpm":"0.01",
"adSceneId":"4B437A3D90DCAD",
"os":"iOS",
"adSourceId":"55bb67d13c9262ca",
"adLoadTime":"5137",
"platformType":"AdMob",
"adRewardNumber":"0",
"adResponseId":"8BF7ABCD-251A-4F67-B017-9CE88CAF92AF",
"adCurrencyCode":"USD"
},
"code":1006
}
常量字符串 | Code码 | 描述 |
---|---|---|
SUCCESS | 1000 | 成功 |
AD_SHOW | 1001 | 视频广告展示 |
AD_VIDEO_BAR_CLICK | 1002 | 广告的下载 bar 点击 |
AD_CLOSE | 1003 | 视频广告关闭 |
AD_VIDEO_COMPLETE | 1004 | 视频播放完成 |
AD_VIDEO_ERROR | 1005 | 视频广告播放错误 |
AD_REWARD_VERIFY | 1006 | 视频播放完成后,奖励验证回调 |
AD_SKIP_VIDEO | 1007 | 视频广告跳过 |
AD_PRE_LOAD_SUCCESS | 1009 | 预加载视频广告成功 |