本指南适用于植入开屏广告的发布商
开屏广告是一种特殊的广告格式,适合希望通过应用启动时加载广告的发布商。用户可以随时关闭开屏广告。以下是一个开屏广告示例:
【占位图】
概括来讲,植入开屏广告需要执行的步骤如下:
前提条件
务必用测试广告进行测试
在构建和测试应用时,请确保使用的是测试广告,而不是实际投放的广告。否则可能导致能的账号被暂停。对于开屏广告,加载测试广告最简便的方法就是使用下面的测试专用广告单元ID:
该测试广告单元 ID 已经过专门配置,可确保每个请求返回的都是测试广告。您可以在自己应用的编码、测试和调试过程中随意使用该测试广告单元 ID。需要注意的一点是,请务必在发布应用前用您的广告单元 ID 替换该测试广告单元 ID。
修改应用代理
开屏广告会在您的应用启动时展示。为确保用户打开您的应用时有广告可以展示,您需要引用随时可用的广告。
这意味着,在需要展示广告之前,您必须预加载一个开屏广告。这样一来,开屏广告就可以在应用下次启动时展示。
您可以在 AppDelegate.m 中添加请求开屏广告的方法:
Swift Objective-C
Copy func requestAppOpenAd () {
//userId
Adx3FullScreenAd. sharedManager () . load ( withPlacementID : "Your Placement ID" , userId : "" , delegate : self )
}
Copy - (void)requestAppOpenAd {
//userId Optional
[[Adx3FullScreenAd sharedManager] loadAdWithPlacementID:@"Your Placement ID" userId:@"" delegate:self];
}
该方法会发起加载新的开屏广告请求,以便用户在启动您的应用时,有可用的开屏广告。
处理请求的回调
您可以实现 Adx3AdLoadingDelegate 以用来监听开屏广告请求是否成功,方法如下:
Swift Objective-C
Copy func didFinishLoadingAD ( withPlacementID placementID : String ! ) {
print ( "---- \(placementID ! ) ----" )
}
func didFailToLoadAD ( withPlacementID placementID : String ! , error : Error ! ) {
print ( "---- \(error. debugDescription ) ----" )
}
Copy - (void)didFinishLoadingADWithPlacementID:(NSString *)placementID {
NSLog(@"----%@----", placementID);
}
- (void)didFailToLoadADWithPlacementID:(NSString *)placementID error:(NSError *)error {
NSLog(@"----%@----", error.description);
}
接下来,添加一个方法用来展示请求到的广告
Swift Objective-C
Copy func tryToPresentAd () {
if Adx3FullScreenAd. sharedManager () . fullScreenIsReady () {
Adx3FullScreenAd. sharedManager () . showScreenView ( withContrller : self, delegate : self ) { isSuccess in
};
} else {
self. requestAppOpenAd ()
}
}
Copy - (void)tryToPresentAd {
if ([[Adx3FullScreenAd sharedManager] fullScreenIsReady]) {
UIViewController *rootController = self.window.rootViewController;
[[Adx3FullScreenAd sharedManager] showScreenViewWithContrller:rootController delegate:self success:^(BOOL isSuccess) {
];
}else {
// If no ad is available, make a new request
[self requestAppOpenAd];
}
}
该方法会检查广告是否存在,如果存在则会在您的根视图上进行展示。如果没有可用的广告,会重新发起一次新的请求。您可以将此方法添加到您想添加的任何位置。
处理展示的回调
当应用展示开屏广告时,您可以借助 Adx3FullScreenDeleagte 处理某些展示事件,可选。示例如下:
Swift Objective-C
Copy func fullScreenDidStartPlayingVideo ( forPlacementID placementID : String ! , extra : [ AnyHashable : Any ] ! ) {
}
func fullScreenDidEndPlayingVideo ( forPlacementID placementID : String ! , extra : [ AnyHashable : Any ] ! ) {
}
func fullScreenDidFailToPlayVideo ( forPlacementID placementID : String ! , error : Error ! , extra : [ AnyHashable : Any ] ! ) {
}
func fullScreenDidClose ( forPlacementID placementID : String ! , extra : [ AnyHashable : Any ] ! ) {
}
func fullScreenDidClick ( forPlacementID placementID : String ! , extra : [ AnyHashable : Any ] ! ) {
}
Copy -(void)fullScreenDidStartPlayingVideoForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra {
}
-(void)fullScreenDidEndPlayingVideoForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra {
}
-(void)fullScreenDidFailToPlayVideoForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary*)extra {
}
-(void)fullScreenDidCloseForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra {
}
-(void)fullScreenDidClickForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra {
}