jjzjj

ios - AdMob、谷歌移动广告、从 iAd、bannerView 切换

coder 2024-01-23 原文

iOS 9.3、Xcode 7.3、启用 ARC。

我正在从 iAd 迁移,我有一些关于最佳设计模式以及如何正确使用 Google 移动广告框架制作横幅广告的一般性问题。

  1. 您如何控制广告加载和加载失败时的呈现?

    我的典型方法是从隐藏横幅 View 开始,检测广告何时加载,然后从顶部或底部设置横幅 View 的动画,或者从替代图像淡入。

    我注意到 GADBannerView 类没有 iAd 横幅的一些更方便的属性,例如 isLoaded

    a) 现在我利用了 - (void)adViewDidReceiveAd:(GADBannerView *)bannerView- (void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:( GADRequestError *)error,当任一方法收到消息时,为 View Controller 设置一个实例变量 bool,然后将该变量用于其他地方的任何其他 UI 更改。这是一个好的设计实践吗?

    b) “删”,动画作品。

    c) 当广告加载失败时,横幅 View 会发生什么情况?我注意到它的 alpha 属性仍然是 1.0,并且没有隐藏。在生产环境中,当 AdMob 广告加载失败时,横幅是否清晰?或者它有通用的替代图像吗?换句话说,如果没有横幅 View ,我是否必须滑入图像以平衡 View ?

  2. 我从基本的 AdMob 教程中了解到,横幅的位置并不重要,它可以位于多个 View Controller 中,框架将管理这些多个横幅的填充方式。有人可以确认这种行为吗?比如说,我有两个 View Controller 和两个不同的横幅 View ,我不需要管理广告吗?我所要做的就是提供横幅 View 房地产吗?

  3. 一般来说,如果我以前有 iAd 广告和应用内广告。通过 iTunes 购买,那么现代趋势是什么?我应该通过 AdMob 转换广告并保留在应用内吗?通过 Apple 购买?这是人们现在正在做的吗?

预先感谢您的回答。我知道这可能过于笼统,但在我向 Apple 提交任何内容之前,我真的希望对前进方向有某种基本的了解。

--

这是我正在使用的动画代码:

- (void)adViewDidReceiveAd:(GADBannerView *)bannerView
{
    bannerDidLoad = true;

    [UIView animateWithDuration:1.0 animations:^{

        bannerView.alpha = 1.0;
        bannerView.frame = CGRectMake(bannerView.frame.origin.x, bannerView.frame.size.height, bannerView.frame.size.width, bannerView.frame.size.height);

    } completion:^(BOOL finished) {

        nil;

    }];
}

最佳答案

您真的应该缩小问题范围。这有点模糊。无论如何,如果 GADBannerView 未能收到广告,它们将清除。使用委托(delegate)方法了解 GADBannerView 所处的状态是标准做法。动画化 alpha 属性应该不是问题。不太确定最后一个问题在问什么。您可以使用任何您喜欢的广告网络。如果您已经在使用应用内购买,只需继续使用它们并删除 GADBannerView 而不是 ADBannerView

关于ios - AdMob、谷歌移动广告、从 iAd、bannerView 切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36392174/

有关ios - AdMob、谷歌移动广告、从 iAd、bannerView 切换的更多相关文章

  1. ruby - 多次弹出/移动 ruby​​ 数组 - 2

    我的代码目前看起来像这样numbers=[1,2,3,4,5]defpop_threepop=[]3.times{pop有没有办法在一行中完成pop_three方法中的内容?我基本上想做类似numbers.slice(0,3)的事情,但要删除切片中的数组项。嗯...嗯,我想我刚刚意识到我可以试试slice! 最佳答案 是numbers.pop(3)或者numbers.shift(3)如果你想要另一边。 关于ruby-多次弹出/移动ruby​​数组,我们在StackOverflow上找到一

  2. ruby-on-rails - Ruby on Rails with Haml - 如何从 erb 切换 - 2

    我正在从erb文件切换到HAML。我将hamlgem添加到我的系统中。我创建了app/views/layouts/application.html.haml文件。我应该只删除application.html.erb文件吗?此外,仍然有/public/index.html文件被呈现为默认页面。我想创建自己的默认index.html.haml页面。我应该把它放在哪里以及如何使系统呈现该文件而不是默认索引文件?谢谢! 最佳答案 是的,您可以删除任何已转换为HAML的View的ERB版本。至于你的另一个问题,删除public/index/h

  3. ruby - 如何验证 IO.copy_stream 是否成功 - 2

    这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下

  4. ruby-on-rails - 如何重命名或移动 Rails 的 README_FOR_APP - 2

    当我在我的Rails应用程序根目录中运行rakedoc:app时,API文档是使用/doc/README_FOR_APP作为主页生成的。我想向该文件添加.rdoc扩展名,以便它在GitHub上正确呈现。更好的是,我想将它移动到应用程序根目录(/README.rdoc)。有没有办法通过修改包含的rake/rdoctask任务在我的Rakefile中执行此操作?是否有某个地方可以查找可以修改的主页文件的名称?还是我必须编写一个新的Rake任务?额外的问题:Rails应用程序的两个单独文件/README和/doc/README_FOR_APP背后的逻辑是什么?为什么不只有一个?

  5. Ruby 文件 IO 定界符? - 2

    我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的

  6. unity---接入Admob - 2

    目录1.AdmobSDK下载地址2.将下载好的unityPackagesdk导入到unity里​编辑 3.解析依赖到项目中

  7. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

  8. ruby-on-rails - rbenv:从 RVM 移动到 rbenv 后,在 Jenkins 执行 shell 中找不到命令 - 2

    我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions

  9. ruby - 为什么不能使用类IO的实例方法noecho? - 2

    print"Enteryourpassword:"pass=STDIN.noecho(&:gets)puts"Yourpasswordis#{pass}!"输出:Enteryourpassword:input.rb:2:in`':undefinedmethod`noecho'for#>(NoMethodError) 最佳答案 一开始require'io/console'后来的Ruby1.9.3 关于ruby-为什么不能使用类IO的实例方法noecho?,我们在StackOverflow上

  10. ruby-on-rails - 使用 gmaps4rails 动态加载谷歌地图标记 - 2

    如何只加载map边界内的标记gmaps4rails?当然,在平移和/或缩放后加载新的。与此直接相关的是,如何获取map的当前边界和缩放级别? 最佳答案 我是这样做的,我只在用户完成平移或缩放后替换标记,如果您需要不同的行为,请使用不同的事件监听器:在你看来(index.html.erb):{"zoom"=>15,"auto_adjust"=>false,"detect_location"=>true,"center_on_user"=>true}},false,true)%>在View的底部添加:functiongmaps4rail

随机推荐