iphone – 我所有视图控制器中的AdMob?

iphone – 我所有视图控制器中的AdMob?,第1张

概述我已经实施了AdMob&一切似乎都有效, 但我想知道,我怎么能把横幅放在我的所有视角控制器中? 现在,我只在RootViewController上有横幅. 我总共有4个视图控制器. 谢谢. 你想要的是一个GADBannerView单例.您可以创建一个包装类来充当adView的单例,如下所示: @interface GADMasterViewController : UIViewController 我已经实施了AdMob&一切似乎都有效,
但我想知道,我怎么能把横幅放在我的所有视角控制器中?
现在,我只在RootVIEwController上有横幅.
我总共有4个视图控制器.
谢谢.解决方法 你想要的是一个GADBannerVIEw单例.您可以创建一个包装类来充当adVIEw的单例,如下所示:

@interface GADMasterVIEwController : UIVIEwController {  GADBannerVIEw *adBanner_;  BOol dIDCloseWebsiteVIEw_;  BOol isLoaded_;  ID currentDelegate_;}

并确保GADMasterVIEwController始终返回一个单例:

+(GADMasterVIEwController *)singleton {  static dispatch_once_t pred;  static GADMasterVIEwController *shared;  // Will only be run once,the first time this is called  dispatch_once(&pred,^{    shared = [[GADMasterVIEwController alloc] init];  });  return shared;}

有一个方法可以重置当前持有adVIEw的视图控制器:

-(voID)resetAdVIEw:(UIVIEwController *)rootVIEwController {  // Always keep track of currentDelegate for notification forwarding  currentDelegate_ = rootVIEwController;  // Ad already requested,simply add it into the vIEw  if (isLoaded_) {    [rootVIEwController.vIEw addSubvIEw:adBanner_];  } else {    adBanner_.delegate = self;    adBanner_.rootVIEwController = rootVIEwController;    adBanner_.adUnitID = kSampleAdUnitID;    GADRequest *request = [GADRequest request];    [adBanner_ loadRequest:request];    [rootVIEwController.vIEw addSubvIEw:adBanner_];    isLoaded_ = YES;  }}

然后展示您的广告只需要:

- (voID)vIEwWillAppear:(BOol)animated {    [super vIEwWillAppear:animated];    shared = [GADMasterVIEwController singleton];    [shared resetAdVIEw:self];}

您可能还需要设置一个委托以转发通知,因为AdMob SDK不能很好地代表在请求过程中更改它的代理.

你可以找到关于这个here的博客文章.

总结

以上是内存溢出为你收集整理的iphone – 我所有视图控制器中的AdMob?全部内容,希望文章能够帮你解决iphone – 我所有视图控制器中的AdMob?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1023786.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存