当前位置: 首页 > 知识库问答 >
问题:

在iPhone上使用iAds的插播广告

程淮晨
2023-03-14

在iPhone上使用IAD显示间隙广告似乎有两种选择。有关间隙的文件已经过时,但根据iAds的补充参考,建立间隙所需的全部工作是:

[UIViewController prepareInterstitialAds];
[self setInterstitialPresentationPolicy:ADInterstitialPresentationPolicyManual];

其次是:

[self requestInterstitialAdPresentation]

(如果成功,则返回bool)每当您要显示广告时。

其他选项是手动创建间隙ad对象:

ADInterstitialAd *interstitial;

然后:

interstitial = [[ADInterstitialAd alloc] init];
interstitial.delegate = self;

当你想展示广告时:

if (interstitial.isLoaded) {
    [interstitial presentFromViewController:self];
}

但是,不推荐使用PresentViewController,并使用PresentView:self。视图表示广告没有关闭按钮。编译器还建议RequestInterstaladPresentation。

因此,我们可以假设选项1是首选方法。我对这个问题的答案有点困惑,因为它使用了2的组合,但RequestInterstitalPresentation似乎不会触发AdInterstitalAD实例的委托方法,并且使用这两种方法都是毫无意义的。

所以我的问题是,第一种方法真的足够吗?我发现它只显示一个广告,然后就再也无法显示了。我在另一个问题中读到,为了请求一个新的ad,需要将ADINTERSTIIALAD实例分配给nil,但是RequestInterstitalAdPresentation无论如何都会忽略这个html" target="_blank">实例。RequestInterstitalAdPresentation是否只是模拟低填充率?还是我错过了一步?

共有2个答案

史英睿
2023-03-14

你描述的第一种方法正是我刚刚使用的方法,它确实产生了新的广告,而不仅仅是一个。你必须打电话

[self requestInterstitialAdPresentation]

每次您想显示广告时。广告并不总是显示,您的iPhone开发人员设置会使情况变得更糟。

我有一些代码可以做到这一点,并在这里等待完成。

颛孙晗昱
2023-03-14

它只显示了1条广告,因为苹果实施了延迟。你必须等待2到3分钟,他们才会为你提供下一个广告。

至于实现,当用户从广告中返回时,新方法会在您的视图控制器中调用viewDidPresar。

你可以在这里看到我的实现。。。https://stackoverflow.com/a/27536872/3489816

所以回答你的问题——是的,第一种方法就足够了。它会显示更多广告,但你必须等待一段时间。你不应该再使用AdInterstitialAd,所以不要担心将其设置为零。它没有模拟低填充率。我不认为你错过了什么......我们只是从来没有被告知我们必须等待:)

旁注。。。我相信设置InterstitalPresentationPolicy也会要求您的第一个广告(就像PrepareInterstitionADS一样)。

 类似资料:
  • 我在Play商店有一个普通的(非游戏)应用程序,它有一些高级功能,我目前已经实施了一个系统,在用户(非高级)同意观看广告后临时解锁上述功能。目前广告由AppLovin提供,但我的目标是切换到Facebook受众网络。 就我对FAN的理解而言;奖励视频广告格式仅适用于游戏应用程序,因此我在为我的应用程序创建位置时无法将其视为一种选择。 在政策上,为此目的使用间隙放置是否合适? 我已经阅读了https

  • 它是一个后端API(由RubyonRails开发),iphone和android手机使用它上传视频。API正在将上传的视频转换为MP4格式。我在后端使用曲别针ffmpeg gem进行视频转换。以下是我使用的: 我面临的问题有: 当用户从Android手机上传视频时,它在Android手机上运行良好,但在iPhone上无法播放。当用户从iPhone上传视频时,会发生另一件奇怪的事情,视频上传后,它会

  • 我正在使用Laravel-Redis-Socketio-LaravelEcho进行实时通知。到目前为止,我能够广播到公共频道,但坚持与私人频道。 我的bootstrap.js: 拉威尔回声服务器。json: 在我的notification类中,我将broadcastOn()设置为: 我的客户是: 在公共频道中一切正常,但在私有频道中,启动laravel-echo-server后,命令行显示以下内容

  • 我正在编写一个UDP客户端/服务器应用程序。服务器是广播服务器,它通过特定端口向同一子网上的两个客户端广播。每个客户端接收一个数据报,并向服务器发送一个响应。每个客户端都预先知道服务器的ip地址。 我的客户端基本上与http://man7.org/linux/man-pages/man3/getaddrinfo.3.html,的客户端示例相同,即它使用connect()函数来指定所有传出数据包的e

  • 我想开发的应用程序,我可以听歌曲从Spotify没有登录到it.like我们搜索从声音云和播放它。 我已经实现了用于搜索轨迹的API https://api.spotify.com/v1/search?q=Muse 它提供了我的曲目列表现在我怎么能玩它没有登录。 答案如下所示

  • 问题内容: 当它在其中使用时,我无法显示我的视图。当我尝试显示它时,应用程序崩溃了,并出现以下错误: 线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x9) 该应用程序可以在模拟器上正常运行。它只会在我的身上崩溃 iPhone 6s iOS 13测试版6 Xcode Beta 5 那是我的基本代码: 问题答案: 不符合不成问题。您提供的代码可以在画布和模拟器中使用,并且也可以在设备上使