- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我的应用程序启动时,iAd 拒绝在第一个屏幕上加载广告。没有错误信息,什么都没有。如果我切换屏幕(转到另一个屏幕),它会开始获取广告并转换广告,即使我返回到第一个屏幕也是如此。
我正在使用 ApplicationDelegate 中的单个 iAd 实例。我试图在 viewDidAppear 中链接 iAdBanner,并在 viewWillDisappear 中取消链接。
viewDidAppear 方法:
- (void)viewDidAppear:(BOOL)animated
{
NSLog(@"view did appear");
[super viewDidAppear:animated];
ADBannerView *adBanner = SharedAdBannerView;
adBanner.requiredContentSizeIdentifiers = (&ADBannerContentSizeIdentifierPortrait != nil) ?
[NSSet setWithObjects:ADBannerContentSizeIdentifierPortrait, ADBannerContentSizeIdentifierLandscape, nil] :
[NSSet setWithObjects:ADBannerContentSizeIdentifier320x50, ADBannerContentSizeIdentifier480x32, nil];
[self.view addSubview:adBanner];
// set the delegate to self, so that we are notified of ad responses
[adBanner setDelegate:self];
isAdShown = [adBanner isBannerLoaded];
[self layoutForCurrentOrientation:animated];
}
布局方式:
- (void)layoutForCurrentOrientation:(BOOL)animated
{
//TODO: this only handles bottom-located elements
ADBannerView *adBanner = SharedAdBannerView;
CGFloat animationDuration = animated ? 0.2f : 0.0f;
// by default content consumes the entire view area
CGRect contentFrame = contentView.bounds;
CGRect owningViewFrame = [self view].bounds;
// the banner still needs to be adjusted further, but this is a reasonable starting point
// the y value will need to be adjusted by the banner height to get the final position
CGPoint bannerOrigin = CGPointMake(CGRectGetMinX(owningViewFrame), CGRectGetMaxY(owningViewFrame));
CGFloat bannerHeight = 0.0f;
// First, setup the banner's content size and adjustment based on the current orientation
if(UIInterfaceOrientationIsLandscape(self.interfaceOrientation))
adBanner.currentContentSizeIdentifier = (&ADBannerContentSizeIdentifierLandscape != nil) ? ADBannerContentSizeIdentifierLandscape : ADBannerContentSizeIdentifier480x32;
else
adBanner.currentContentSizeIdentifier = (&ADBannerContentSizeIdentifierPortrait != nil) ? ADBannerContentSizeIdentifierPortrait : ADBannerContentSizeIdentifier320x50;
bannerHeight = adBanner.bounds.size.height;
// Depending on if the banner has been loaded, we adjust the content frame and banner location
// to accomodate the ad being on or off screen.
// This layout is for an ad at the bottom of the view.
if (isAdShown)
{
NSLog(@"Banner is loaded");
contentFrame.size.height = owningViewFrame.size.height - bannerHeight;
bannerOrigin.y -= bannerHeight;
}
else
{
NSLog(@"Banner is not loaded");
bannerOrigin.y += bannerHeight;
contentFrame.size.height = owningViewFrame.size.height;
}
NSLog(@"Banner content Frame: (%f, %f), (%f, %f)", bannerOrigin.x, bannerOrigin.y, contentFrame.size.width, contentFrame.size.height);
// And finally animate the changes, running layout for the content view if required.
[UIView animateWithDuration:animationDuration
animations:^{
contentView.frame = contentFrame;
[contentView layoutIfNeeded];
adBanner.frame = CGRectMake(bannerOrigin.x, bannerOrigin.y, adBanner.frame.size.width, adBanner.frame.size.height);
}];
}
和 viewWillDisappear 方法:
-(void)viewWillDisappear:(BOOL)animated
{
NSLog(@"View will disappear");
[super viewWillDisappear:animated];
[self removeLinkToAdBanner:animated];
}
-(void)removeLinkToAdBanner:(BOOL)animated
{
ADBannerView *adBanner = SharedAdBannerView;
if ([adBanner delegate] == self) {
adBanner.delegate = nil;
[adBanner removeFromSuperview];
}
}
真正令人沮丧的是,在我升级到 xcode 4 之前,它在模拟器中工作。我升级了,突然间它停止工作了。还有其他人看到过这样的行为吗?任何想法我可以做些什么来解决它?该行为发生在 4.x(4.0 到 4.3)所有测试版本的模拟器中。
最佳答案
我遇到了同样的问题,修复在 AppDelegate 的 bannerViewDidLoadAd 方法中。您需要在那里调用您的 showBanner 方法,以便最初显示广告。
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
[_currentController showBannerView:_bannerView animated:YES];
}
请检查新的 iAdSuite 示例代码,我将其取出。
关于ios - 当我的应用程序首次启动时,iAd 拒绝在第一个屏幕上加载广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5918399/
我制作了一个加载苹果测试广告的测试应用程序。我想知道如何加载实时广告而不是苹果测试广告。加载实时 iAd 的机制是什么?任何人都可以在这方面帮助我吗? 问候阿卜杜勒·萨马德 最佳答案 作为docume
我刚刚将 iAd 添加到我的一个应用程序中,它工作正常,只是它在横幅 View 的顶部和底部留下了空白。有谁知道如何摆脱它? 截图如下: 最佳答案 你在使用 Storyboard吗?如果可能的话,您已
You are receiving this email because you entered into the Developer Advertising Services Agreement (
我想知道使用过 iAds 的人是否知道没有广告返回的频率 当我们收到“无广告”委托(delegate)回调时,我们正在讨论是否使用替代广告平台 - (void)bannerView:(ADBanner
我在 iAd 不支持的中国,但我想嵌入 iAd,因为我的应用程序是全局性的。我知道只有美国、英国、日本......可以展示 iAd。 如果我在中国,如何向 iAd 发送短信? 或者,如果我是位于中国的
我已经创建了一个 iOS6“单一 View ”iPhone 应用程序。 应用程序只有纵向。 我在应用程序中添加了 iAds。 我像这样向应用程序添加额外的 View : if (se
You are receiving this email because you entered into the Developer Advertising Services Agreement (
我开发了这款游戏,它运行良好,就像我想要的那样,但在我添加 iAd 横幅后,当我开始游戏时,它会正常运行大约 10 秒。然后它放大并使所有东西都变得非常大,然后它会给我这个错误: Shapes#2[7
我是第一次使用 iAd,我已成功将应用程序与 iAd 集成。现在它完成了它工作正常显示演示 iAd 横幅。如何使用 iAd 网络显示广告,我找不到任何连接 iAd 应用程序的教程。是否需要创建任何 I
如果 iAds 横幅不改变场景,我无法将 iAds 实现到游戏中,例如每次加载广告时都会抖动屏幕。请提供解决方案以阻止这种情况发生。 class GameViewController: UIViewC
我已经以这种方式构建了我的应用程序,一切似乎或多或少都正常工作。在听说 iAd 填充率极低之后,我认为这将是最好的方法,但我尝试用谷歌搜索它,但找不到其他人在他们的应用程序中像这样实现广告的记录。这是
我正在尝试在 iOS 设备上测试 iAd,2013 年的一些帖子说您需要在 iTunes Connect 中“设置 iAd 网络”。我在 Itunes connect 中看不到任何此类选项。 itun
我已经复制了 iAdSuite with Storyboards在 swift 中,iAd 在所有 View Controller 上工作正常,除了当委托(delegate)方法 bannerView
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
这仍然是一个相对较新的话题,所以不确定有多少人在 iPad (iOS4.2.1) 上实现了 iAd。 但基本上,我让 iAd 横幅以横向模式显示(并且显示正确)。唯一的问题是当我点击“测试广告”时,它
我搜索了一段时间,同时寻找有关如何在 iAds 失败时将 iAds 与 AdMobs 集成的完整指南, 我问这个问题的唯一原因是我有 iAds,我注意到 iAds 的填充率非常低,并且希望 AdMob
我们有一个支持 iAds 的应用程序。显然 iPad 版 iOs 4.2 将支持这一点,但是使用 beta SDK 进行一些测试,无法调整横幅大小以使其适合 SplitViewController 的
我在全新的项目中实现了一个非常简单的 iAd 横幅,当我运行它时,我收到错误 ERROR:无法从数据库获取接收器数据! 代码非常基本,所以我认为问题与代码无关,但我会添加它以防万一: #import
我最近更新了我的开发者成员(member)资格。我的新契约(Contract)于 5 月 19 日生效。上周我进去浏览了我的 iAd 收入,发现我所有的 iAd 应用程序都是“红色”并且没有收到广告。
Wirh SDK 4.2 和 iOS5,这让我有些困惑。在我新的基于标签栏的应用程序中,我有多个 View Controller 。我已经仔细检查并重新检查所有 iAd delgate 方法是否存在。
我是一名优秀的程序员,十分优秀!