iOS 9.3,Xcode 7.3,启用了ARC。
我正在远离iAd,我对最佳设计模式以及如何正确使用Google移动广告框架进行横幅广告提出了一些一般性问题。
如何控制广告加载和加载失败的演示文稿?
我的典型方法是从隐藏的横幅视图开始,检测广告的加载时间,然后从顶部或底部为横幅视图设置动画,或者从替身图片中淡入。
我注意到GADBannerView
类,没有iAd横幅的一些更方便的属性,例如isLoaded
。
a)现在我利用两个方法- (void)adViewDidReceiveAd:(GADBannerView *)bannerView
和- (void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error
,在任一方法获取消息时为视图控制器设置实例变量bool,然后将该变量用于任何其他UI改变其他地方。这是一个很好的设计实践吗?
b)"删除",动画有效。
c)广告无法加载时,横幅视图会发生什么?我注意到它的alpha属性仍然是1.0,并且它没有被隐藏。在AdMob广告无法加载的生产环境中,横幅是否清晰?或者它有一个通用的替身图像?换句话说,我是否必须在图像中滑动以平衡视图而没有横幅视图?
我从基本的AdMob教程中读到,横幅广告并不重要,它可以在多个视图控制器中,框架将管理如何填充这些多个横幅。有人可以证实这种行为吗?说,我有两个视图控制器,我有两个不同的横幅视图,我不必管理广告?我所要做的就是提供横幅视图房地产?
一般来说,如果我曾经有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;
}];
}
答案 0 :(得分:1)
你应该真的缩小你的问题。这有点模糊。无论如何,如果他们未能收到广告,则GADBannerView
将清除。使用委托方法来了解GADBannerView
所处的状态是标准。动画alpha
属性应该不是问题。不确定最后一个问题是什么。您可以使用自己喜欢的任何广告网络。如果您正在使用应用内购买,只需继续使用它们,然后移除GADBannerView
而不是ADBannerView
。