uni-app 云打包自定义基座 FCM离线推送应用无法正常打包 已勾选googleplay渠道仍提示需要勾选

发布于 1周前 作者 h691938207 来自 Uni-App

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

1 回复

针对您提到的 uni-app 云打包自定义基座 FCM(Firebase Cloud Messaging)离线推送应用无法正常打包的问题,并且即使已勾选 Google Play 渠道仍提示需要勾选的情况,这通常与配置或代码集成相关。以下是一个基本的检查流程和代码示例,帮助您确保 FCM 配置正确,并尝试解决打包问题。

1. 确认 FCM 配置

首先,确保您已经在 Firebase 控制台中正确配置了您的应用,并获取了必要的 API 密钥和 google-services.json 文件。

2. 检查 manifest.json 配置

uni-appmanifest.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 官方技术支持获取更专业的帮助。由于这涉及到具体的项目配置和环境,可能需要根据实际情况调整上述步骤。

回到顶部