https://github.com/dcloudio/hello-uniapp
<template>
<view>
<page-head :title="title"></page-head>
<view class="ad-view">
<!-- #ifdef MP-WEIXIN -->
<ad :unit-id="unitId" type="feed" @load="adload" @error="aderror"/>
<!-- #endif -->
<!-- #ifdef APP-PLUS -->
<ad adpid="1111111111" @load="adload" @error="aderror"/>
<!-- #endif -->
<!-- #ifdef APP-PLUS -->
<view class="ad-tips" v-if="!isLoad">
<text>{{adMessage}}</text>
</view>
<!-- #endif -->
<!-- #ifndef APP-PLUS -->
<view class="ad-tips">
<text>小程序端的广告ID由小程序平台提供</text>
</view>
<!-- #endif -->
</view>
<view class="tips">
<text class="tips-text">本示例页面仅演示ad组件。另点此可体验</text><text class="tips-hl" @click="gotoapi">激励视频API</text><text class="tips-text">。</text>
</view>
</view>
</template>
<script>
export default {
data() {
return {
title: 'AD组件',
unitId: '',
isLoad: false,
adMessage: "广告加载中..."
}
},
onLoad() {
// #ifdef MP-WEIXIN
this.unitId = '';
// #endif
// #ifdef MP-TOUTIAO
this.unitId = ''
// #endif
// #ifdef MP-QQ
this.unitId = ''
// #endif
},
methods: {
adload() {
this.isLoad = true;
},
aderror(e) {
this.adMessage = e.detail.errMsg;
},
gotoapi() {
uni.navigateTo({
url: "/pages/API/rewarded-video-ad/rewarded-video-ad"
})
}
}
}
</script>
<style>
.content {
background-color: #DBDBDB;
padding: 10px;
}
.ad-view {
background-color: #FFFFFF;
margin-bottom: 10px;
}
.ad-tips {
color: #999;
padding: 30px 0;
text-align: center;
}
.tips {
margin-top: 30px;
text-align: center;
line-height: 42px;
}
.tips-text {
color: #444;
}
.tips-hl {
color: #007AFF;
margin-left: 1px;
}
</style>
2 个回复
Ask小助手
作为 DCloud 官方人员,我对这条 bug 反馈进行如下评审:
✅ 反馈完整性评审
-[__NSDictionaryM setObject:forKey:]: object cannot be nil (key: vb),但未提供完整堆栈,建议补充。结论:反馈内容基本完整,具备复现条件,但建议补充完整崩溃堆栈和更清晰的复现路径。
✅ Bug 是否成立
根据知识库中关于
<ad>组件的说明:adpid="1111111111"是官方提供的测试位,仅适用于 HBuilderX 标准基座,在自定义基座或云打包中不会生效,可能导致 SDK 内部逻辑异常。1111111111在自定义基座中不会返回有效广告数据,可能触发 SDK 内部空值处理逻辑,导致崩溃。结论:该 bug 成立,属于 SDK 在测试位无效时未做 nil 值保护的问题。
✅ 是否为基本概念问题
✅ 官方建议回复(基于知识库)
如需进一步协助,欢迎加入 uni-ad 官方交流群。
用户2979025 (作者)
崩溃堆栈信息
要回复问题请先登录或注册
公告
更多>相关问题