You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity集成AdMob UMP遇异常:找不到com.google.android.ump.UserMessagingPlatform类

解决Google AdMob UMP的ClassNotFoundException问题

针对你在Unity 2021.3.9f1 + AdMob SDK v11.0.0环境下,设备运行时抛出com.google.android.ump.UserMessagingPlatform类找不到的异常,尝试以下解决方案:

1. 修正ProGuard/R8规则

你之前添加的规则未覆盖UMP核心类,替换为以下完整规则:

# 保留UMP所有类和接口
-keep class com.google.android.ump.** { *; }
-keep interface com.google.android.ump.** { *; }

# 保留Google Play服务相关类,避免混淆
-keep class com.google.android.gms.** { *; }
-dontwarn com.google.android.gms.**

# 保留必要属性,确保反射正常工作
-keepattributes Signature, InnerClasses, EnclosingMethod

如果使用R8(Unity 2021.x默认启用),上述规则同样适用。

2. 启用Dex分包(针对低版本SDK)

若你的Minimum API Level设置低于21,需在Gradle模板中启用MultiDex:

  1. 打开Player Settings > Android > Publishing Settings,勾选Custom Main Gradle Template和Custom Base Gradle Template
  2. 在mainTemplate.gradle的defaultConfig块中添加:
multiDexEnabled true
  1. 若minSdkVersion <21,还需在baseProjectTemplate.gradle的dependencies块添加MultiDex依赖:
implementation 'androidx.multidex:multidex:2.0.1'

3. 重新集成AdMob SDK

可能存在SDK文件缺失或损坏:

  • 删除Plugins/Android下所有AdMob相关的aar/jar文件
  • 打开Unity Package Manager,找到Google Mobile Ads SDK,点击Remove后重新Install
  • 确保安装过程无报错,UMP相关依赖已自动导入

4. 清理构建缓存并重新构建

Unity缓存可能残留旧的构建文件:

  • 点击File > Build Settings > Android > Clean Build
  • 等待清理完成后,重新构建APK/Android App Bundle

5. 检查设备环境

  • 确保测试设备上的Google Play服务已更新至最新版本
  • 避免使用无Google Play服务的模拟器或设备(如国内定制ROM无GMS)

内容的提问来源于stack exchange,提问作者Dror

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 13:17:39