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

无需点击按钮,Cordova Android用Admob Plus实现启动自动展示广告

实现应用启动自动展示广告的修改方案

你当前代码的开屏广告仅监听了应用从后台切回的resume事件,首次启动不会触发该事件,补全对应逻辑即可实现启动自动展示广告的效果:

1. 开屏广告启动+后台切回都自动展示

修改initAppOpenAd方法,抽离公共展示逻辑,新增首次启动触发调用:

initAppOpenAd() {
  const ad = new admob.AppOpenAd({
    adUnitId: 'ca-app-pub-3940256099942544/5662855259',
    orientation: admob.AppOpenAd.Orientation.Portrait,
  })

  // 抽离公共广告展示逻辑,复用
  const tryShowAd = () => {
    const shouldSkip = Date.now() - lastAdTime <= 1000 * 5
    if (shouldSkip) return;
    ad.isLoaded().then((loaded) => loaded ? ad.show() : ad.load())
  }

  // 保留切后台回前台的展示逻辑
  document.addEventListener('resume', tryShowAd, false)

  // 新增:首次启动直接尝试加载+展示广告
  tryShowAd()
}

2. 启动自动展示其他类型广告(可选)

如果需要启动就展示插屏、横幅等其他类型广告,直接在onDeviceReady方法的admob.start回调链中追加对应调用即可,示例如下:

admob
  .start()
  .then(() => this.initAppOpenAd())
  .then(() =>
    admob.BannerAd.config({
      backgroundColor: '#A7A7A7',
      marginTop: 10,
      marginBottom: 10,
    }),
  )
  // 启动后自动展示插屏广告
  .then(() => this.showInterstitialAd())
  // 启动后自动展示底部横幅广告,需要就取消注释
  // .then(() => this.showBannerAd())
  .catch(alert)

注意事项:你原有代码中的lastAdTime5秒冷却逻辑已经避免了短时间重复展示广告的问题,符合Admob的展示规范,不会触发平台限流。首次启动时如果广告还未加载完成,会先触发加载,加载成功后自动展示,不会阻塞应用正常启动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:36:03