• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 避免递归bannerView : didFailToReceiveAdWithError: on iPad

[复制链接]
菜鸟教程小白 发表于 2022-12-13 15:09:44 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个使用 iAd 的 iPhone 应用,并回退到 AdMob 广告:

- (void)bannerViewDidLoadAdADBannerView *)banner {

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3f];

    adBannerView.frame = CGRectMake(0, 410, 320, 50);

    [UIView commitAnimations];

    // hide the admob ad
    if(adMobView != nil && adMobView.superview != nil) {
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:0.3f];
        adMobView.frame = CGRectMake(0, 460, 320, 48);
        [UIView commitAnimations];
    }
}

- (void)bannerViewADBannerView *)banner didFailToReceiveAdWithErrorNSError *)error {

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3f];

    // hide banner
    adBannerView.frame = CGRectMake(0, 460, 320, 50);
    [UIView commitAnimations];

    if(adMobView != nil && adMobView.superview != nil) {
        [adMobView requestFreshAd];
    } else {
        adMobView = [AdMobView requestAdWithDelegate:self];
        adMobView.frame = CGRectMake(0, 460, 320, 48);
        [self.view addSubview:adMobView];
    }
}

这在 iPhone 上运行良好。但是,当应用程序在 iPad 上运行时,这种情况会再次出现; [self.view addSubview:adMobView];(特别是对'self.view'的调用)根据the ViewController.view reference调用loadView ,再次尝试布局AdBannerView,再次触发失败。

我认为这与 iPad 上的窗口边界比 iPhone 上的更大/不同,以及确定是否尝试加载 AdBanner 的规则有关。

一种解决方案可能是将我硬编码的边界调整为更远(因此超出 iPad 的更大范围)。另一种解决方案是完全避免 self.view 调用/递归风险并以另一种方式进行 - 但是,AdMobView 有点挑剔,真的希望由 requestAdWithDelegate 实例化,如果我把它放在 viewDidLoad 中。

哪种方法是明智的?



Best Answer-推荐答案


我在 iPad 上遇到了类似的问题,只是所有以 self.view 开头的调用导致bannerView:didfailToReciveAdWithError 出现递归错误。我认为这与调用 didfailToReciveAdWithError 方法时尚未分配 self.view 中的 View 有关。为了修复它,我从该方法中删除了对 self.anything 的所有调用。

关于ios - 避免递归bannerView : didFailToReceiveAdWithError: on iPad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11641478/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap