关于集成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信息。