z***@163.com
z***@163.com
  • 发布:40 分钟前
  • 更新:40 分钟前
  • 阅读:30

【iOS / uni-app Vue3】自定义插件集成 AdMob 后,5.26 基座提示 uni-AD 业务状态异常(-9001),回退 4.76 后未再出现

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 家庭版 中文版 26H2 26300.9818

HBuilderX类型: 正式

HBuilderX版本号: 5.26

手机系统: iOS

手机系统版本号: iOS 26

手机厂商: 苹果

手机机型: iphone 13 pro max

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

以下为现有工程的原生桥接片段,需配套实际 iOS framework,尚未验证为可独立复现的最小工程。示例不表示必须调用 initialize 才触发提示。

const admobNative = uni.requireNativePlugin?.('IosCommonUniPlugin-AdMobModule')  

// 业务需要时调用的初始化接口  
export function initializeAdMob() {  
  return new Promise((resolve) => {  
    admobNative.initialize((result) => {  
      resolve(result)  
    })  
  })  
}

插件 package.json 中的 iOS 原生依赖声明:

{  
  "dependencies": [  
    "pod 'FirebaseAnalytics'",  
    "pod 'GoogleAdsOnDeviceConversion'",  
    "pod 'Google-Mobile-Ads-SDK'"  
  ]  
}

业务代码未使用 uni-ad 广告 API/组件。关闭业务广告展示后,SDK 仍随原生插件集成在安装包内。

操作步骤:
  1. 在现有 uni-app Vue3工程中,将 DCloud 包族统一使用 3.0.0-5020620260917001(5.26)。

  2. 保留并注册本工程的 IosCommonUniPlugin.framework,其中包含 AdMob、Firebase、通知和音频模块,同时保留独立 Widget 插件。

  3. 编译 App 资源,通过云打包重新生成匹配 5.26 的 iOS 自定义调试基座,安装到 iPhone 运行。

  4. 将应用自身业务后台的广告展示开关关闭,保留包内的原生插件,启动并运行应用,观察提示。

  5. 对照一:同为 5.26,临时排除整个混合插件及对应桥接调用,保留独立 Widget,重新云打基座并运行。

  6. 对照二:恢复原混合插件及对应桥接,将 DCloud 包族统一回退为 3.0.0-4070620250821001(4.76),重新编译并云打匹配的新基座,安装运行。

预期结果:

在平台支持的自定义原生插件接入方式下,应用能够保留自有 AdMob SDK 并正常运行,不出现原因和处理要求不明确的 uni-AD 业务状态异常提示。

如果新版对该接入方式存在额外配置、uni-ad 开通要求或限制,希望明确提供触发原因、官方规则和具体处理步骤。

如属于兼容问题,希望提供修复版本或受支持的临时方案,以便保留 AdMob 并继续升级 DCloud,避免长期依赖旧版运行库。

实际结果:
  1. 5.26+保留混合插件:
    出现 uni-AD 业务状态异常(-9001),业务广告展示开关关闭时也出现。

  2. 5.26+排除整个混合插件及对应桥接,保留独立 Widget:
    不再出现该提示。

  3. 4.76+恢复并保留原混合插件、AdMob SDK 和对应桥接:
    安装新基座后,目前未再出现该提示。

已核对各对照 IPA 的实际原生运行库版本。回退采用统一依赖、重新编译及重新云打基座的方式,并非仅更换 HBuilderX 编辑器版本。

4.76 包内 AdMob SDK、原混合插件和 Widget 均保留,混合插件实现保持一致。

补充说明:第二组排除的是整个混合插件,同时影响 AdMob、Firebase、通知和音频,尚未完成仅去掉 AdMob 的单变量测试,因此暂不能确定唯一触发条件。

bug描述:

uni-app Vue3I 项目在 iOS 上通过自定义原生插件接入 Google AdMob。业务代码没有调用 uni-ad 广告 API,也没有使用 uni-ad 广告组件。

使用 DCloud 5.26 编译器及对应自定义调试基座时,App 提示:

应用的 uni-AD 业务状态异常(-9001),请登录 https://uniad.dcloud.net.cn 处理

即使我们自己的业务后台关闭广告展示,该提示仍会出现。关闭的是应用自身的广告业务开关,AdMob SDK 仍在安装包内。

相关版本:

  • 问题版本:3.0.0-5020620260917001,对应编译器/原生运行库 5.26。
  • 回退对照:3.0.0-4070620250821001,对应编译器/原生运行库 4.76。

自定义插件 IosCommonUniPlugin.framework 同时包含 AdMob、Firebase、通知和音频模块,另外使用独立 Widget 插件。

目前已完成三组对照,结果见“实际结果”。

希望协助确认:

  1. 新版是否支持通过自定义原生插件直接接入开发者自己的 AdMob?
  2. 该情况下的 -9001 属于应用状态检查、接入要求还是兼容问题?
  3. 如需开通 uni-ad 或完成后台配置,请提供对应规则及处理步骤;如属兼容问题,请提供修复版本或受支持的处理办法。
40 分钟前 负责人:无 分享
已邀请:

要回复问题请先登录或注册