我在实现ADBannerView及其委托协议时遇到问题。如何实现AdBannerview和ADBannerview委托
我实现下面的代码在我的视图类(也做了视图符合ADBannerViewDelegate协议):
//add iAds
ADBannerView *adView = [[ADBannerView alloc] initWithFrame: CGRectMake(0, 318, 320, 50)];
adView.requiredContentSizeIdentifiers = [NSSet setWithObjects: ADBannerContentSizeIdentifierPortrait, ADBannerContentSizeIdentifierLandscape, nil];
adView.delegate = self;
//adView.delegate = ADBannerViewDelegate;
[self.view addSubview: adView];
然后创建用于ADBannerViewDelegate一类,具有下列的.m
//
// ADBannerViewDelegate.m
//
#import "ADBannerViewDelegate.h"
@implementation ADBannerViewDelegate
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{
NSLog(@"bannerview did not receive any banner due to %@", error);}
- (void)bannerViewActionDidFinish:(ADBannerView *)banner{NSLog(@"bannerview was selected");}
- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave{return willLeave;}
- (void)bannerViewDidLoadAd:(ADBannerView *)banner {NSLog(@"banner was loaded");}
@end
旗帜最终被提出但控制台保持抛出以下类型的错误:
2011-02-27 15:00:54.108 app[31639:207] ADBannerView: Unhandled error (no delegate or delegate does not implement didFailToReceiveAdWithError:): Error Domain=ADErrorDomain Code=5 "The operation couldn’t be completed. Banner view is visible but does not have content" UserInfo=0x6356a40 {ADInternalErrorCode=5, NSLocalizedFailureReason=Banner view is visible but does not have content}
和委托函数没有做任何事情,所以根本没有NSLog。显然没有捕捉到错误。
我很难过。我想我在视图和代理中的Adbanner视图调用的链接中缺少一些东西。不知道该怎么做或什么是错的。
任何帮助?提前致谢。
杰森
应该注意的方法:bannerViewActionShouldBegin。逻辑可以是自定义的,但通常返回YES更好。在应用程序中投放了很多广告(因此willLeave通常为NO),但基于此值返回将阻止广告完全投放(如果为“否”),并因此按照AdBannerViewDelegate协议参考(https:///developer.apple.com/library/ios/documentation/UserExperience/Reference/ADBannerViewDelegate_Ref/Reference/Reference.html#//apple_ref/occ/intfm/ADBannerViewDelegate/bannerViewActionShouldBegin:willLeaveApplication :)。 – Shaun 2013-11-13 07:35:02
我有点困惑,不是接口是需要符合协议的不是实现。当我在实现中编写ADViewBannerDelete时,我在测试项目中尝试了这一点,xcode抛出了此错误。 @implementation声明不能通过协议认证 – Alix 2014-07-25 19:01:37