跳到主要内容

广告接口

1、说明

SDK包含两个广告接口,1.广告是否准备就绪;2.播放广告。

游戏接入广告的逻辑:首先调用接口2.3判断当前广告是否准备就绪。如果广告尚未准备好,不允许播放广告,如果准备就绪了,就调用接口2.4播放广告,然后依赖SDK返回的播放结果进行相应处理。

信息

SDK客户端只提供了让游戏判断是否可以播放广告和开始播放广告的功能逻辑,其它的广告逻辑需要游戏自行判断处理(比如某个位置的广告一天限制播放N次,每次间隔一分钟才能继续播放之类)

项目组可以决定需要播放的第三方广告渠道,广告位数量,播放次数和播放优先级,然后通知SDK服务端进行配置。

当前SDK播放的广告接入了UPTV,facebook等第三方广告渠道商,具体广告商依赖项目需求。

2、代码调用

2.1、 导入头文件

#import "DHUnionSDK.h"
#import "DHUnionDelegate.h"
#import "DHUnionConfig.h"

2.2、 配置广告结果回调协议

@interface ViewController ()<DHUnionAdsDelegate>

2.3、 检查广告是否准备就绪

/**
* 广告是否准备就绪
* @param DHUnionADConfig *config 广告配置参数
* @param DHUnionAdsDelegate delegate 广告回调通知
* @return void
*/

DHUnionADConfig *config = [[DHUnionADConfig alloc] init];
config.type = DHUnionAdTypeReword;
config.userId = @"12345";
config.placement = @"1";
[DHUnionSDK couldPlayAd:config target:self];

2.4、 播放广告

/**
* SDK打开广告
* @param DHUnionADConfig *config 广告配置参数
* @param DHUnionAdsDelegate delegate 广告回调通知
* @return void
*/

DHUnionADConfig *config = [[DHUnionADConfig alloc] init];
config.type = DHUnionAdTypeReword;
config.userId = @"12345";
config.placement = @"1";
[DHUnionSDK playAd:config target:self];

2.5、 广告参数

//播放广告的配置类
@interface DHUnionADConfig : NSObject
@property (nonatomic, strong)NSString *userId; //登录用户ID(非必传)
@property (nonatomic, assign)DHUnionAdType type; //广告类型(必传)
@property (nonatomic, strong)NSString *placement; //广告位id,如1,2,3,4(必传)

@end
//广告类型
typedef enum {
DHUnionAdTypeNormal = 0, //普通广告
DHUnionAdTypeReword, //激励广告(主要)
DHUnionAdTypeWall //推广墙
}DHUnionAdType;

2.6、 广告播放结果

#pragma mark - DHUnionAdsDelegate
- (void)playAdsDidSuccess
{
NSLog(@"======播放广告成功,可以领取奖励");
}

- (void)playAdsDidFailed
{
NSLog(@"======播放广告失败");
}

- (void)couldPlayAds:(BOOL)canPlay
{
if(canPlay){
NSLog(@"广告准备就绪");
}
else{
NSLog(@"广告尚未准备就绪");
}
}

其他说明

警告

1、广告SDK仅提供加载和显示,如游戏对广告有奖励内容和奖励次数限制,需要游戏自行设计逻辑。并且针对广告失败也得游戏自行处理。

2、广告服务器配置采用的是智能解析(分国内和海外,但使用的同一个域名)。国内和海外的Facebook或者其他广告播放次数,优先级等可能不一致

3、如果广告配置获取成功,将采用服务器配置次数为准,获取失败,使用默认值。

4、提供的两个接口(广告是否就绪、播放广告),就绪状态事实是由Facebook等广告SDK返回,如果已就绪,游戏再调用播放广告接口时,不管是播放成功还是播放失败,本地当前广告播放次数都会+1.

5、以上的播放次数限制以设备为计算,不以传递的用户ID来。

6、广告渠道的播放次数为总播放次数,和具体广告位ID无关。

7、广告播放的优先级和限制次数只限于当天。获取广告配置的机制为:每次启动游戏向SDK服务器拉取当前广告配置,每次播放广告本地累计计算当前广告播放的次数以及是否播放次数耗尽切换下一个广告。第二天(以自然日00:00为界)本地累计的广告播放次数和广告渠道清零,重新开始计算。

8、假如海外用户因为网络原因导致获取到的次数为国内配置,可以清空APP数据后(如手机上清除APP数据或者删掉APP重新安装),重新拨VPN后打开游戏获取海外配置。

9、广告位数量和ID必须以产品人员提供的为准,否则也将导致广告流程失败(SDK服务器配置、Facebook等广告后台配置)