Android 检查规则
E1:ComboSDK.json 错误
问题描述
ComboSDK.json 的配置不符合预期。
影响范围
- 未配置 ComboSDK.json 文件,Combo SDK 初始化将失败,Combo 所有功能将不可用。
- 未及时更新 ComboSDK.json 文件(内容错误),版本预期新增/更改的特性/功能将不生效或异常。
解决方案
ComboSDK.json
是 Combo SDK 的核心配置文件,集中管理所有第三方服务密钥、功能开关和合规链接,实现快速集成和动态调整,避免代码层频繁修改。
- 若有Reproducible Builds 需求,先执行 Combo CLI init 更新构建数据
- 使用 Combo CLI setup 命令,生成或更新
ComboSDK.json
文件
E2:包名错误
问题描述
游戏产物未使用世游提供的包名 (Bundle ID)。
影响范围
- 渠道发行审核将被拒
- 无法使用需要效验签名包名的第三方SDK,例如支付宝、微信支付、分享、广告买量SDK、手机号一键登录等
解决方案
方法1
- 通过 Combo CLI build 命令自动设置 applicationId 来完成包名修改
方法2
- 通过Unity Player Settings修改包名
- 打开Unity项目 → File → Build Settings → 选择 Android 平台。
- 点击 Player Settings → Player → Other Settings。
- 在 Identification 部分,修改 Package Name(必须与世游后台的bundle_id完全一致)。
E3:签名密钥错误
问题描述
游戏产物未使用世游提供的签名密钥对产物进行签名。
影响范围
- 渠道发行审核将被拒
- 无法使用需要效验签名包名的第三方SDK,例如支付宝、微信支付、分享、广告买量SDK、手机号一键登录等
解决方案
方法1
通过 Combo CLI build 命令获取密钥文件、密码以及别名,并进行签名配置
方法2
通过Unity Player Settings 设置应用签名
- 打开Unity项目 → File → Build Settings → 选择 Android 平台。
- Publishing Settings 勾选 Custom Keystore,填写密钥库路径、密码、别名及密码,确保签名与console后台
E4:minSdkVersion 不正确
问题描述
AndroidManifest.xml
的 minSdkVersion
小于 Combo SDK Android
设定的23
影响范围
- 用户进行渠道发布时,如果minSdkVersion不符合渠道的最低要求,应用会被下架
解决方案
方法1:通过Unity Player Settings修改minSdkVersion
- 打开Unity项目 → File → Build Settings → 选择 Android 平台。
- 点击 Player Settings → Player → Other Settings。
- 在 Minimum API Level 中选择 Android 6.0 'Marshmallow' (API Level 23) 或更高版本。
方法2:通过Gradle强制覆盖
在mainTemplate.gradle(位于Assets/Plugins/Android/)中添加:
android {
defaultConfig {
minSdkVersion 23 // 强制设为23
}
}
E5:targetSdkVersion 不正确
问题描述
AndroidManifest.xml
的 targetSdkVersion
小于 Combo SDK Android
的设定:33
影响范围
targetSdkVersion
如果低于应用市场规定的版本要求,会被拒审- 用户需要适配新系统特性时,如Android 13的通知权限,如果
targetSdkVersion
低于33,权限申请会被系统自动拒绝
解决方案
方法1:通过 Unity Player Settings 修改 targetSdkVersion
- 打开Unity项目 → File → Build Settings → 选择 Android 平台。
- 点击 Player Settings → Player → Other Settings。
- 在 Target API Level 中选择:
- 通用渠道:Android 13 (API Level 33)
方法2:通过Gradle强制覆盖
在mainTemplate.gradle(位于Assets/Plugins/Android/)中添加:
android {
defaultConfig {
targetSdkVersion 33 // 强制设为33
}
}
E6:高危权限滥用
问题描述
AndroidManifest.xml
中声明的权限包含渠道审核禁止的高危权限
影响范围
游戏因声明高危权限会被渠道发行拒审
解决方案
在 AndroidManifest.xml
中使用 tools:remove
标签移除高危权限
- 在
AndroidManifest.xml
中添加tools
命名空间
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
>
- 在
<uses-permission>
标签中添加tools:remove
属性,指定要移除的权限,示例如下:
<uses-permission
android:name="android.permission.ACCESS_BACKGROUND_LOCATION"
tools:node="remove" />
<uses-permission
android:name="android.permission.WRITE_SETTINGS"
tools:node="remove" />
<uses-permission
android:name="android.permission.SYSTEM_ALERT_WINDOW"
tools:node="remove" />
<!-- 其他高危权限同理 -->
高危权限如下:
android.permission.WRITE_SETTINGS(修改系统设置)
android.permission.BIND_DEVICE_ADMIN(设备管理员权限)
android.permission.WRITE_SECURE_SETTINGS (篡改系统安全配置)
android.permission.DISABLE_KEYGUARD(绕过锁屏窃取设备控制权)
android.permission.RECEIVE_BOOT_COMPLETED (开机自启动)
android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS (后台运行)
E7:缺少微信软件可见性配置
问题描述
AndroidManifest.xml
中未声明微信的 queries
包名配置,导致微信相关功能(如登录、分享、支付)可能无法正常使用。
影响范围
Android 11 以上设备受影响(因系统强制限制软件包可见性),微信登录/分享/支付 功能异常(跳转失败或无法唤起微信)
解决方案
在 manifest
标签内添加 queries
声明,确保 AndroidManifest.xml
包含以下配置:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.your.game.package">
<!-- 声明微信包名(Android 11+ 必需) -->
queries
<package android:name="com.tencent.mm" /> <!-- 微信包名 -->
</queries>
<!-- 其他配置 -->
</manifest>
E8:缺少小红书软件可见性配置
问题描述
若集成 Domain agora
, AndroidManifest.xml
中未声明小红书的 queries
包名配置,导致小红书相关功能(如登录、分享)可能无法正常使用。
影响范围
Android 11 以上设备受影响(因系统强制限制软件包可见性),小红书登录/分享/支付功能异常(跳转失败或无法唤起小红书)
解决方案
在 manifest
标签内添加 queries
声明,确保 AndroidManifest.xml
包含以下配置:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.your.game.package">
<!-- 声明小红书包名(Android 11 必需) -->
queries
<package android:name="com.xingin.xhs" /> <!-- 小红书包名 -->
</queries>
<!-- 其他配置 -->
</manifest>
E9:缺少微博软件可见性配置
问题描述
若集成 Domain weibo
, AndroidManifest.xml
中未声明微博的 queries
包名配置,导致微博相关功能(如登录、分享)可能无法正常使用。
影响范围
Android 11 以上设备受影响(因系统强制限制软件包可见性),微博登录/分享/支付功能异常(跳转失败或无法唤起微博)
解决方案
在 manifest
标签内添加 queries
声明,确保 AndroidManifest.xml
包含以下配置:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.your.game.package">
<!-- 声明微博包名(Android 11+ 必需) -->
queries
<package android:name="com.sina.weibo" /> <!-- 微博包名 -->
<package android:name="com.sina.weibog3" />
</queries>
<!-- 其他配置 -->
</manifest>
E10:缺少QQ软件可见性配置
问题描述
若集成 Domain qq
, AndroidManifest.xml 中未声明QQ的 queries
包名配置,导致QQ相关功能(如登录、分享)可能无法正常使用。
影响范围
Android 11 以上设备受影响(因系统强制限制软件包可见性),QQ登录/分享/支付功能异常(跳转失败或无法唤起QQ)
解决方案
在 manifest 标签内添加 queries 声明,确保 AndroidManifest.xml 包含以下配置:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.your.game.package">
<!-- 声明QQ包名(Android 11+ 必需) -->
queries
<package android:name="com.tencent.mobileqq" />
<package android:name="com.tencent.tim" />
<package android:name="com.tencent.minihd.qq" />
</queries>
<!-- 其他配置 -->
</manifest>
E11:缺少抖音软件可见性配置
问题描述
若集成 Domain douyin
, AndroidManifest.xml
中未声明抖音的 queries
包名配置,导致抖音相关功能(如登录、分享)可能无法正常使用。
影响范围
Android 11 以上设备受影响(因系统强制限制软件包可见性),抖音登录/分享功能异常(跳转失败或无法唤起抖音)
解决方案
在 manifest
标签内添加 queries
声明,确保 AndroidManifest.xml
包含以下配置:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.your.game.package">
<!-- 声明抖音包名(Android 11+ 必需) -->
queries
<!--允许查询抖音和抖音极速版的软件包信息-->
<package android:name="com.ss.android.ugc.aweme" />
<package android:name="com.ss.android.ugc.aweme.lite" />
<package android:name="com.ss.android.ugc.live" />
</queries>
<!-- 其他配置 -->
</manifest>
E12:缺少支付宝软件可见性配置
问题描述
若集成 Domain seayoo_store
, AndroidManifest.xml
中未声明支付宝的 queries
包名配置,导致支付宝相关功能(如登录、支付)可能无法正常使用。
影响范围
Android 11 以上设备受影响(因系统强制限制软件包可见性),支付宝登录/支付功能异常(跳转失败或无法唤起支付宝)
解决方案
在 manifest
标签内添加 queries
声明,确保 AndroidManifest.xml
包含以下配置:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.your.game.package">
<!-- 声明支付宝包名(Android 11+ 必需) -->
queries
<package android:name="com.eg.android.AlipayGphone" /> <!-- 支付宝包名 -->
</queries>
<!-- 其他配置 -->
</manifest>
E13:OPPO渠道参数 AndroidManifest 配置不正确
问题描述
若集成 Domain oppo
, AndroidManifest.xml
中未正确配置OPPO渠道参数 oppo_app_key
如下:
<!-- android:value 对应console后台 oppo_app_key -->
<meta-data
android:name="app_key"
android:value="xxxxxxx" />
影响范围
OPPO游戏SDK初始化失败(登录、支付等功能异常)
解决方案
使用 Combo CLI setup 命令生成 ComboSDK.json
文件,检查 ComboSDK.json
文件中 oppo_app_key
的值是否与console后台配置相同
参考链接
https://open.oppomobile.com/new/developmentDoc/info?id=12176
E14:VIVO 渠道参数 AndroidManifest 配置不正确
问题描述
若集成 Domain vivo
, AndroidManifest.xml
中未正确配置VIVO渠道参数 vivo_app_id
,正确示例如下:
<!-- android:value 对应console后台 vivo_app_id -->
<meta-data
android:name="vivoUnionAppId"
android:value="105679098" />
影响范围
VIVO游戏SDK初始化失败(登录、支付等功能异常)
解决方案
使用 Combo CLI setup 命令生成 ComboSDK.json
文件,检查 ComboSDK.json
文件中 vivo_app_id
的值是否与console后台配置相同
参考链接
https://dev.vivo.com.cn/documentCenter/doc/450#s-74knd99g
E15:小米渠道参数 AndroidManifest 配置不正确
问题描述
若集成 Domain xiaomi
, AndroidManifest.xml
中未正确配置VIVO渠道参数 xiaomi_app_id
和 xiaomi_app_key
,正确示例如下:
<!-- android:value 对应console后台 mi_$vivo_app_id -->
<meta-data
android:name="miGameAppId"
android:value="mi_2882303761520268023" />
<!-- android:value 对应console后台 mi_$xiaomi_app_key -->
<meta-data
android:name="miGameAppKey"
android:value="mi_5392026825023" />
影响范围
小米游戏SDK初始化失败(登录、支付等功能异常)
解决方案
使用 Combo CLI setup 命令生成 ComboSDK.json
文件,检查 ComboSDK.json
文件中 xiaomi_app_id
和 xiaomi_app_key
的值是否与console后台配置相同
参考链接
https://dev.mi.com/xiaomihyperos/documentation/detail?pId=1421
E16:荣耀渠道参数 AndroidManifest 配置不正确
问题描述
若集成 Domain honor
, AndroidManifest.xml
中未正确配置VIVO渠道参数 honor_app_id
和 honor_developer_id
,正确示例如下:
<!-- android:value 对应console后台 honor_app_id -->
<meta-data
android:name="com.hihonor.iap.sdk.appid"
android:value="${honor_app_id}" />
<!-- android:value 对应console后台 honor_developer_id -->
<meta-data
android:name="com.hihonor.iap.sdk.cpid"
android:value="${honor_developer_id}" />
影响范围
荣耀游戏SDK初始化失败(登录、支付等功能异常)
解决方案
使用 Combo CLI setup 命令生成 ComboSDK.json
文件,检查 ComboSDK.json
文件中 honor_app_id
和 honor_developer_id
的值是否与console后台配置相同
参考链接
E17:应用宝渠道参数 AndroidManifest 配置不正确
问题描述
若集成 Domain yingyongbao
, AndroidManifest.xml
中未正确配置应用宝渠道参数 yingyongbao_qq_app_id
和 yingyongbao_wx_app_id
,正确示例如下:
<!-- QQ登录配置 -->
<activity
android:name="com.tencent.tauth.AuthActivity"
android:exported="true"
android:launchMode="singleTask"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- 必须替换为应用自身的QQAppId tencent1112326530 -->
<data android:scheme="tencent${yingyongbao_qq_app_id}" />
</intent-filter>
</activity>
<!-- 微信登录配置 -->
<activity
android:name="com.tencent.ysdk.module.user.impl.wx.YSDKWXEntryActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:excludeFromRecents="true"
android:exported="true"
android:label="WXEntryActivity"
android:launchMode="singleTop"
android:taskAffinity="${applicationId}.diff"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<!-- 必须替换为应用自身的微信AppId wxca172f0d161f72cd -->
<data android:scheme="${yingyongbao_wx_app_id}" />
</intent-filter>
</activity>
影响范围
- QQ登录功能不可用
- 微信登录功能不可用
- 应用宝渠道社交分享功能异常
解决方案
使用 Combo CLI setup 命令生成 ComboSDK.json
文件,检查 ComboSDK.json
文件中 yingyongbao_qq_app_id
和 yingyongbao_wx_app_id
的值是否与console后台配置相同
参考链接
https://wikinew.open.qq.com/index.html#/iwiki/4008531348
E18:UC渠道参数 AndroidManifest 配置不正确
问题描述
若集成 Domain uc
, AndroidManifest.xml
中未正确配置UC渠道参数 uc_game_id
,正确示例如下:
<activity
android:name="cn.uc.gamesdk.activity.PullupActivity"
android:excludeFromRecents="true"
android:exported="true"
android:label="PullupActivity"
android:launchMode="singleTop"
android:taskAffinity="${applicationId}.diff"
android:theme="@android:style/Theme.Translucent"
tools:node="replace">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- 必须替换为应用自身的UC GameID -->
<data android:scheme="ng${uc_game_id}" />
</intent-filter>
</activity>
影响范围
UC游戏SDK初始化失败(登录、支付等功能异常)
解决方案
使用 Combo CLI setup 命令生成 ComboSDK.json
文件,检查 ComboSDK.json
文件中 uc_game_id
的值是否与console后台配置相同
参考链接 https://game.open.9game.cn/document/doc/detail/15
E19:雷电渠道参数 AndroidManifest 配置不正确
问题描述
若集成 Domain leidian
, AndroidManifest.xml
中未正确配置雷电渠道参数 leidian_game_id
、leidian_channel_id
、leidian_sun_channel
,正确示例如下:
<!-- 雷电游戏ID -->
<meta-data
android:name="LD_GAME_ID"
android:value="${leidian_game_id}" />
<!-- 雷电主渠道ID -->
<meta-data
android:name="CHANNEL_ID"
android:value="${leidian_channel_id}" />
<!-- 雷电子渠道ID(可选,部分游戏需要) -->
<meta-data
android:name="SUN_CHANNEL_ID"
android:value="${leidian_sun_channel}" />
影响范围
雷电游戏SDK初始化失败(登录、支付等功能异常)
解决方案
使用 Combo CLI setup 命令生成 ComboSDK.json
文件,检查 ComboSDK.json
文件中 leidian_game_id
、leidian_channel_id
、leidian_sun_channel
的值是否与console后台配置相同
参考链接
https://docs.ldmnq.com/docs/3iyTEo#b52baa42d227ce605d779ef580973c7a
E20:猫窝渠道参数 AndroidManifest 配置不正确
问题描述
若集成 Domain maowo
, AndroidManifest.xml
中未正确配置雷电渠道参数 maowo_app_id
、maowo_client_id
、maowo_client_key
,正确示例如下:
<!-- 猫窝APPID -->
<meta-data
android:name="HuoUnion_APPID"
android:value="${maowo_app_id}" />
<!-- 猫窝CLIENTID -->
<meta-data
android:name="HuoUnion_CLIENTID"
android:value="${maowo_client_id}" />
<!-- 猫窝CLIENTKEY -->
<meta-data
android:name="HuoUnion_CLIENTKEY"
android:value="${maowo_client_key}" />
影响范围
猫窝游戏SDK初始化失败(登录、支付等功能异常)
解决方案
使用 Combo CLI setup 命令生成 ComboSDK.json
文件,检查 ComboSDK.json
文件中 maowo_app_id
、maowo_client_id
、maowo_client_key
的值是否与console后台配置相同
参考链接
https://doc.huosdk.com/web/#/203/9208
E21:联想渠道参数 AndroidManifest 配置不正确
问题描述
若集成 Domain lenovo
, AndroidManifest.xml
中未正确配置雷电渠道参数 lenovo_open_appid
,正确示例如下:
<!-- 联想Open AppID -->
<meta-data
android:name="lenovo.open.appid"
android:value="${lenovo_open_appid}" />
<!-- 联想渠道标识 -->
<meta-data
android:name="lenovo:channel"
android:value="${lenovo_open_appid}" />
影响范围
联想游戏SDK初始化失败(登录、支付等功能异常)
解决方案
使用 Combo CLI setup 命令生成 ComboSDK.json
文件,检查 ComboSDK.json
文件中 lenovo_open_appid
的值是否与console后台配置相同
参考链接
https://open.lenovomm.com/developer/doc?id=1559820567843188738#w-e-element-1702
E22:绝峰渠道参数 AndroidManifest 配置不正确
问题描述
若集成 Domain juefeng
, AndroidManifest.xml
中未正确配置雷电渠道参数 juefeng_app_id
和 juefeng_app_key
,正确示例如下:
<!-- 绝峰APPID -->
<meta-data
android:name="JF_APPID"
android:value="${juefeng_app_id}" />
<!-- 绝峰APPKEY -->
<meta-data
android:name="JF_APPKEY"
android:value="${juefeng_app_key}" />
影响范围
绝峰游戏SDK初始化失败(登录、支付等功能异常)
解决方案
使用 Combo CLI setup 命令生成 ComboSDK.json
文件,检查 ComboSDK.json
文件中 juefeng_app_id
和 juefeng_app_key
的值是否与console后台配置相同
参考链接
https://game.juefeng.com/view/jfGame_pc/open_platform.html
E23:魅拓渠道参数 AndroidManifest 配置不正确
问题描述
若集成 Domain meituo
, AndroidManifest.xml
中未正确配置雷电渠道参数 meituo_appid
和 meituo_appkey
,正确示例如下:
<!-- 魅拓APPID -->
<meta-data
android:name="beemix_appid"
android:value="${meituo_appid}" />
<!-- 魅拓APPKEY -->
<meta-data
android:name="beemix_appkey"
android:value="${meituo_appkey}" />
影响范围
魅拓游戏SDK初始化失败(登录、支付等功能异常)
解决方案
使用 Combo CLI setup 命令生成 ComboSDK.json
文件,检查 ComboSDK.json
文件中 meituo_appid
和 meituo_appkey