1***@qq.com
1***@qq.com
  • 发布:2025-12-29 11:21
  • 更新:2025-12-29 11:22
  • 阅读:34

ios ,nvue页面 广告显示不出来,同样的代码在vue页面就可以显示出来,进入了onload回调,有截图,这个对吗

分类:uni-app
<view class="test-box"> <view class="mx-2" style="width: 300px;height: 100px;" v-if="showAd"> 1111 <ad class="relative" style="width: 300px;height: 100px;" width="750rpx" height="300rpx" aria-label="广告"

adpid="adId" ad-intervals="60" @load="onload" @close="onclose" @error="onerror"> </ad>
</view>
<button @click="changeShow">显示广告111</button>
</view>

const showAd = ref(false);
function onload(e) {
uni.showToast({
title: '广告onload:' + JSON.stringify(e),
icon: 'none',
duration: 3000
})
};

function onclose(e) {
uni.showToast({
title: '广告onclose:' + JSON.stringify(e),
icon: 'none',
duration: 3000
})
};

function onerror(e) {
console.log('onerror=============', e);
uni.showToast({
title: '广告onerror:' + JSON.stringify(e),
icon: 'none',
duration: 3000
})
};

function changeShow() {
showAd.value = !showAd.value;
}

<style>
.test-box {
padding-top: 100px;
}
</style>

onload截图

2025-12-29 11:21 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据您描述的问题,iOS平台nvue页面广告显示异常但onload回调能触发,而相同代码在vue页面正常工作,这是nvue框架的已知限制。

原因分析:

  1. nvue已停止维护(参考优先知识库),存在iOS平台兼容性bug
  2. 广告组件在nvue中的渲染机制与vue不同,特别是iOS系统对原生广告视图有特殊处理要求
  3. 您使用的普通<ad>组件在nvue中可能受Weex渲染限制

解决方案:

  1. 优先迁移至uni-app-x:nvue已废弃,uni-app-x是官方推荐的新原生渲染方案(参考release-note-alpha),彻底解决此类问题
  2. 临时方案
    • 尝试改用<ad-draw>组件(文档),该组件专为nvue设计
    • 检查iOS的IDFA权限配置(参考
    • 确保adpid是iOS可用的测试广告位(如1507000690)

注意事项:

  • nvue页面需使用rpx单位且样式作用域受限
  • iOS 14+需开启"允许App请求跟踪"权限
  • 不要混合使用vue/nvue组件库

建议尽快升级到uni-app-x(当前最新alpha 4.87),这是DCloud官方推荐的长期解决方案。迁移指南见uni-app-x文档

内容为 AI 生成,仅供参考

要回复问题请先登录注册