uniapp如何接入字节穿山甲sdk实现广告变现
在uniapp中接入字节穿山甲SDK时,具体步骤是怎样的?有没有完整的配置示例?我按照官方文档操作后广告无法正常展示,控制台也没有报错,可能是什么原因导致的?需要注意哪些关键配置点?iOS和Android的接入方式是否有区别?
2 回复
在 UniApp 中接入字节穿山甲(Pangle)SDK 实现广告变现,需通过原生插件方式集成。以下是步骤和示例代码:
步骤概述:
-
申请穿山甲账号
在穿山甲平台注册账号,创建应用和广告位,获取App ID和广告位Code。 -
安装原生插件
- 使用 HBuilder X,在「插件市场」搜索「穿山甲广告插件」(如官方或第三方开发的插件,例如
DC-UniPlugin-ByteDance)。 - 导入插件到 UniApp 项目,并配置 App 原生配置。
- 使用 HBuilder X,在「插件市场」搜索「穿山甲广告插件」(如官方或第三方开发的插件,例如
-
配置项目
- 在
manifest.json的「App 模块配置」中勾选「Ad 广告(uni-ad)」和对应插件。 - 在「SDK 配置」中填写穿山甲
App ID。
- 在
-
代码实现
在 Vue 页面中调用插件 API 加载广告。以下以激励视频广告为例:
示例代码(激励视频广告):
// 初始化广告(通常在 onLoad 中调用)
initAd() {
// 确认插件已加载
if (typeof uni.createRewardedVideoAd !== 'function') {
uni.showToast({ title: '广告插件未就绪', icon: 'none' });
return;
}
// 创建激励视频广告实例
this.videoAd = uni.createRewardedVideoAd({
adpid: '你的广告位ID' // 替换为实际广告位 Code
});
// 监听广告加载事件
this.videoAd.onLoad(() => {
console.log('广告加载成功');
});
// 监听错误事件
this.videoAd.onError(err => {
console.error('广告加载失败', err);
});
// 监听广告关闭事件
this.videoAd.onClose(res => {
if (res.isEnded) {
uni.showToast({ title: '奖励发放', icon: 'success' });
// 发放用户奖励逻辑
} else {
uni.showToast({ title: '未完整观看', icon: 'none' });
}
});
},
// 显示广告
showAd() {
this.videoAd.show().catch(err => {
// 失败时重新加载
this.videoAd.load().then(() => this.videoAd.show());
});
}
注意事项:
- 平台限制:穿山甲广告仅支持 Android 和 iOS 端,需打包为 App 使用,不支持 H5 或小程序。
- 测试模式:开发阶段在穿山甲后台配置测试设备,避免触发无效点击。
- 广告位类型:除激励视频外,还支持开屏、插屏、横幅等,代码逻辑类似(参考插件文档)。
- 合规要求:遵循穿山甲广告投放规范,确保广告场景符合政策。
通过以上步骤,即可在 UniApp 中实现广告变现。建议详细阅读穿山甲官方文档和插件使用说明。


