You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Appylar Android SDK中重新填充广告缓冲区?

Appylar Android SDK 广告缓冲区耗尽后如何重新填充?

我已在应用中集成Appylar Android SDK,根据文档,该SDK内置了横幅广告和插屏广告的内部缓冲区。问题在于,当缓冲区中的所有广告展示完毕后,缓冲区会为空,无法再展示横幅或插屏广告。我展示横幅广告的代码如下:

if(bannerView.canShowAd()) {
    bannerView.showAd()
}

在此场景下,canShowAd()函数只有在缓冲区中有广告时才会返回true,请问缓冲区为空后该如何重新填充它?


解决方案

  • 主动调用预加载方法:当检测到canShowAd()返回false,或者在广告展示完成后,直接调用bannerView.loadAd()主动请求新广告填充缓冲区。示例代码:
if(bannerView.canShowAd()) {
    bannerView.showAd()
    // 展示后立即预加载,维持缓冲区有可用广告
    bannerView.loadAd()
} else {
    // 缓冲区为空时主动触发加载
    bannerView.loadAd()
    // 通过监听回调处理加载状态
    bannerView.setAdListener(object : AppylarAdListener {
        override fun onAdLoaded() {
            // 广告加载完成后即可展示
            bannerView.showAd()
        }

        override fun onAdFailedToLoad(errorCode: Int) {
            // 根据错误码处理加载失败逻辑,比如稍后重试
        }

        // 按需实现其他回调方法,如onAdShown、onAdClosed等
    })
}
  • 借助广告回调维持缓冲区:通过设置AppylarAdListener,在广告展示或关闭的回调中触发预加载,确保缓冲区始终有备用广告:
bannerView.setAdListener(object : AppylarAdListener {
    override fun onAdShown() {
        // 广告展示后立即预加载下一条
        bannerView.loadAd()
    }

    override fun onAdClosed() {
        // 广告关闭后补充预加载
        bannerView.loadAd()
    }
})

注意:确保SDK初始化时配置了正确的广告ID,且设备网络连接正常,否则预加载请求会失败。


内容的提问来源于stack exchange,提问作者Archer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 10:23:12