plus.ad.setSplashAd 方法失效 uni-app

plus.ad.setSplashAd 方法失效 uni-app

项目信息 描述
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 版本 10.0.22621 版本 22621
HBuilderX类型 正式
HBuilderX版本号 4.65
手机系统 全部
手机厂商 华为
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

测试过的手机

华为mate60

操作步骤

  • 必现

预期结果

  • 第一次开屏广告消失

实际结果

  • 第一次开屏广告出现

bug描述

开屏广告,传递false仍然出现

部分app.vue中的代码如下。

splashEnable()
.then(({data}) => {
  // #ifdef APP-PLUS  
  // # vip 不显示广告 || 不是vip且浏览次数>0不显示广告   
  // true - 表示开启开屏广告; false - 表示关闭开屏广告。  
  plus.ad.setSplashAd(data == 'Y');  
  // #endif  
}).catch(res => {  
    // #ifdef APP-PLUS  
    // # vip 不显示广告 || 不是vip且浏览次数>0不显示广告   
    // true - 表示开启开屏广告; false - 表示关闭开屏广告。  
    plus.ad.setSplashAd(isEnableSplashAd);  
    // #endif  
})

第一次启动,当plus.ad.setSplashAd的参数值为false值时,会出现一次广告。 第二次启动,仍然是false,广告消失。

为什么第一次启动会出现广告?


更多关于plus.ad.setSplashAd 方法失效 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于plus.ad.setSplashAd 方法失效 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html


根据你的描述,这是plus.ad.setSplashAd方法在首次启动时的典型行为。问题可能源于以下原因:

  1. 首次启动时机问题:在应用首次冷启动时,系统可能已经初始化了开屏广告的展示流程,此时调用setSplashAd(false)可能无法及时拦截首次广告加载。广告模块的初始化可能早于你的异步请求完成。

  2. 云端打包配置:检查manifest.json中是否配置了开屏广告。如果云端打包时勾选了开屏广告,首次启动会强制展示,后续才受setSplashAd控制。

  3. 异步延迟:你的splashEnable()是异步请求,在响应返回前广告可能已经触发。建议在应用启动早期(如onLaunch中)同步设置初始状态,例如:

    // 在异步请求前先禁用
    plus.ad.setSplashAd(false);
回到顶部