我经历过SO和谷歌,并试图解决这个问题,而且我很困难。
我正在尝试使用Xcode将Admob C ++ SDK实现到iOS上的项目中。 以下代码在Android上正常运行,但在iOS上无效:
Advertisement::banner = new firebase::admob::BannerView();
Game::log("Initializing..");
#ifdef _ANDROID_PLATFORM_
Advertisement::banner->Initialize(Game::state->activity->clazz, kBannerAdUnit, banner_ad_size);
#else
Advertisement::banner->Initialize(getUIView(), kBannerAdUnit, banner_ad_size);
#endif
Game::log("Waiting for Initialize...");
WaitForFutureCompletion(Advertisement::banner->InitializeLastResult());
// Load the banner ad.
Game::log("Loading a banner ad.");
Advertisement::banner->LoadAd(request);
我得到的错误描述如下:
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)
请阅读以下内容,了解我所尝试的内容,有效的内容以及尚无效的内容。
Admob CPP示例
我从here下载了Admob示例,哇,它有效!没有错误,显示横幅很好等等。
所以在那之后,我取消了我的项目,修改了上面的示例以包含我自己的应用程序的内容,然后我收到上面的HTTP load failed
错误。
请注意,我已手动检查所有设置是否相同且plist文件是否相同。两个应用程序的唯一区别是我的非Admob代码(否则admob代码是相同的),因此不应该是的问题。正如我多次经历过的那样,我仍然无法确定为什么会发生这种情况。
的plist
我已添加到我的plist文件NSAllowsArbitraryLoads
以及NSExceptionDomains
,myProject.firebaseio.com
描述了here和here但没有成功。这似乎不影响应用程序,因为我仍然收到上面的HTTP load failed
。
除非Admob自动为广告执行此操作,否则我不会连接到任何HTTP网站,只会连接到HTTPS。我似乎也无法看到Admob连接的网站,因此我无法使用NSCurl
进行测试。
我用iPhoneX和5s试过这个,它们显示的结果相同。