iOS 集成谷歌AdMob遇到的坑

关于集成adMob的操作,谷歌的官方文档很详细(firebase官网文档),甚至还有小视频给你讲解,这里就无需多讲。在这主要分享一个在集成过程中遇到的问题。。首先我用测试id和自己账号创建的广告id在demo中尝试成功load出广告。但是一集成到项目中就[self.interstitial isReady] 返回值一直是false,一直调用以下代理方法:

- (void)interstitial:(GADInterstitial *)ad didFailToReceiveAdWithError:(GADRequestError *)error;

打印error:

Error Domain=com.google.ads Code=1 "Request Error: No ad to show." UserInfo={NSLocalizedDescription=Request Error: No ad to show., NSLocalizedFailureReason=Request Error: No ad to show.}

查过很多资料,有看到博客园一博主也遇到类似的坑,但尝试后并未解决,包括stack over flow上尝试方法。最后在谷歌论坛上找到了sdk团队的邮箱(google-admob-ads-sdk@googlegroups.com)也沟通了好几天。最后他们帮我找到原因和解决的办法是:

With that said, I would recommend you to modify your application and remove any code that modifies the User-Agent of the application/device

由于项目需要,在AppDelegate中设置了User-Agent,所以在广告请求中的User-Agent被修改了导致广告一直没法请求回来显示以上error信息。

    原文作者:蒂兰圣雪小鱼仔
    原文地址: https://www.jianshu.com/p/71234cd10c12
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞