uni-app 云打包自定义基座 FCM离线推送应用无法正常打包 已勾选googleplay渠道仍提示需要勾选
uni-app 云打包自定义基座 FCM离线推送应用无法正常打包 已勾选googleplay渠道仍提示需要勾选
操作步骤
云打包自定义基座,FCM离线推送无法正常打包,提示需要勾选googleplay渠道,但是已经勾选了。
预期结果
可以正常打包。
实际结果
无法提交到打包环境。
bug描述
云打包自定义基座,FCM离线推送无法正常打包,提示需要勾选googleplay渠道,但是已经勾选了。
开发环境信息
项目 | 信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | win11 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.45 |
手机系统 | Android |
手机系统版本号 | Android 11 |
手机厂商 | vivo |
手机机型 | neo9 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
针对您提到的 uni-app
云打包自定义基座 FCM(Firebase Cloud Messaging)离线推送应用无法正常打包的问题,并且即使已勾选 Google Play 渠道仍提示需要勾选的情况,这通常与配置或代码集成相关。以下是一个基本的检查流程和代码示例,帮助您确保 FCM 配置正确,并尝试解决打包问题。
1. 确认 FCM 配置
首先,确保您已经在 Firebase 控制台中正确配置了您的应用,并获取了必要的 API 密钥和 google-services.json
文件。
2. 检查 manifest.json
配置
在 uni-app
的 manifest.json
文件中,确保已经正确配置了 Android 的相关信息,特别是与 FCM 相关的部分。以下是一个示例配置:
{
"mp-weixin": {},
"app-plus": {
"distribute": {
"google": {
"package": "com.yourapp.package", // 替换为您的包名
"key": {
"keystorePath": "path/to/your/keystore.jks", // 替换为您的 keystore 路径
"keystorePass": "your_keystore_password", // 替换为您的 keystore 密码
"aliasName": "your_alias_name", // 替换为您的 alias 名称
"aliasPass": "your_alias_password" // 替换为您的 alias 密码
}
}
},
"usingComponents": true,
"permissions": {
// 确保包含了 FCM 所需的权限
"Internet": {},
"ReceiveBootCompleted": {},
"WakeLock": {}
}
}
}
3. 集成 FCM SDK
在 uni-app
中,通常不需要直接修改原生代码来集成 FCM,但如果您使用的是自定义基座并且需要更深入的集成,可能需要确保在原生 Android 项目中正确集成了 Firebase SDK。这通常涉及将 google-services.json
文件放置在 app/
目录下,并在 build.gradle
文件中应用 Google 服务插件。
4. 云打包配置
在 DCloud 控制台进行云打包时,确保在“发行”->“原生App云打包”->“自定义基座配置”中正确勾选了“Google Play”渠道,并上传了正确的 keystore 文件。
5. 清理和重试
如果以上步骤都确认无误,尝试清理项目缓存并重新进行云打包。有时候,清理缓存可以解决一些奇怪的打包问题。
如果问题依旧存在,建议检查 DCloud 社区或 Firebase 社区是否有类似问题的讨论,或者联系 DCloud 官方技术支持获取更专业的帮助。由于这涉及到具体的项目配置和环境,可能需要根据实际情况调整上述步骤。