首页 > 解决方案 > 使用 Delphi 10.3.3 在 iOS 中获取后不显示插页式广告

问题描述

我试图在我的应用中使用 AdMob 插页式广告。在各种互联网资源和自学的指导和帮助下,我能够在 android 版本中实现这一点。我遇到了 iOS 实现的问题。

经过一番努力,我能够使用适用于 iOS 的“移动广告 SDK”来加载“广告”。我的测试应用程序编译,它甚至获取广告。但是,在将广告展示到屏幕上时,它似乎不起作用。

我尝试使用以下命令显示广告。

procedure TForm8.btnShowAdClick(Sender: TObject);
begin
  {$ifdef android}
  FInterstitial.show;
  {$endif}
  {$ifdef ios}
  if FInterstitial.isReady
  then begin
       ShowMessage ('Showing');
       FInterstitial.presentFromRootViewController
                     (TiOSHelper.SharedApplication.keyWindow.rootViewController);

  end
  else ShowMessage ('Not Ready');
  {$endif}
end;

对此没有任何反应。根据文档,广告应该在调用presentFromRootViewController. 我收到“显示”消息,但没有任何反应。我还可以看到,我的监听器interstitialWillPresentScreen被调用了;这意味着它正在尝试展示广告,但出于某种原因,它不是。

我尝试通过nil而不是TiOSHelper.SharedApplication.keyWindow.rootViewController没有成功。

我正在使用 Google 的 iOS 测试广告单元 IDca-app-pub-3940256099942544/4411468910进行测试。我 100% 确定我正在获取广告。FInterstitial.responseInfo.responseIdentifier每次获取广告时,我都会通过检查来确认这一点。它不只是被显示出来......帮助!

标签: iosdelphiadsinterstitial

解决方案


我想我找到了自己问题的答案。删除该信息后,我就可以看到广告Showmessage。似乎它以某种方式阻止了广告的视图。但不知道为什么!


推荐阅读