我在Xcode中使用Admob横幅构建了我的第一个应用程序.我的应用使用多个UIViews连接NavigationController,目前我正在申请新的广告UIView.
这就是我每个人都得到的UIViewController:
import GoogleMobileAds
class ViewController: UIViewController {
@IBOutlet weak var bannerView: GADBannerView!
override func viewDidLoad() {
super.viewDidLoad()
bannerView.adUnitID = "ca-app-pub-281379xxxxx/64134xxxxx"
bannerView.rootViewController = self
bannerView.loadRequest(GADRequest())
}
}
Run Code Online (Sandbox Code Playgroud)
如何为所有视图实现" 共享 "横幅,这些视图可以单独class或通过单独管理AppDelegate.(我的所有观点都已经GADBannerView在底部了.)
我之前从未真正使用过委托方法,因为编码只是我的业余爱好而且我正在学习:Try&Error.但在这一点上,我的技能还不足以实现这一点.
我会很感激任何帮助:-).谢谢!
我正在iOS上使用Google移动广告SDK并尝试展示一些广告.我的代码:
GADBannerView* bannerView = [[GADBannerView alloc] initWithAdSize:GADAdSizeFromCGSize(CGSizeMake(300, 250))];
bannerView.adUnitID = @"hidden";
bannerView.rootViewController = self;
bannerView.delegate = self;
GADRequest* request = [GADRequest request];
request.testDevices = @[ kGADSimulatorID ];
[bannerView loadRequest:request];
Run Code Online (Sandbox Code Playgroud)
如果我在bannerView上面看到的代码后面添加到视图层次结构,这可以正常工作.但是,我不想在加载广告之前添加它,所以我想延迟它.我注意到,如果bannerView不在视图层次结构中,则根本不调用委托方法.此外,我找到了这个答案,这与我所观察到的一致.另一方面,这是来自GADBannerViewDelegate标头的引用:
/// Tells the delegate that an ad request successfully received an ad. The delegate may want to add
/// the banner view to the view hierarchy if it hasn't been added yet.
- (void)adViewDidReceiveAd:(GADBannerView *)bannerView;
Run Code Online (Sandbox Code Playgroud)
这表明即使视图不在层次结构中也应该可以接收那些委托回调,这正是我想要的.所以,任何想法我怎么能实现这一目标?