【问题标题】:Firebase - different package name and app idFirebase - 不同的包名称和应用 ID
【发布时间】:2019-12-05 18:09:15
【问题描述】:

我对 FCM 推送通知有疑问。我实现了文档中描述的所有内容。但是它不起作用。我相信这是因为清单文件中的应用程序 ID 和包名称之间存在差异。

假设我的应用程序 ID 是

com.xyz.tycoon

而正是这个 id 被添加到 Firebase 中。但是,清单文件中的包名是这样的:

package="com.xyz.app"

我相信这就是推送通知不起作用的原因。我该如何解决?我不想向 Firebase 添加另一个项目,因为那里已经有很多数据。有什么想法吗?

【问题讨论】:

  • 你不能更改清单中的包吗?
  • 不,那时应用程序没有编译。
  • 使用 flavor 与 firebase 应用 id 匹配

标签: android firebase firebase-cloud-messaging


【解决方案1】:

更改包名:

在android studio的项目结构窗口下右键你的包文件夹->重构->重命名

所以你现在已经更新了你的包名。

【讨论】:

  • 没那么容易,我有很多子模块和模块相互连接。
  • 重构会处理它。高清同样的问题。用这个方法解决了。如果您想使用该解决方案,或者让我们通过
【解决方案2】:

无需更改包名。使用 productFlavors 将您的应用与 Firebase 匹配的应用 ID 同步。更新您的模块级别build.gradle,如下所示:

defaultConfig {
    applicationId('com.xyz.app')

    ....
}

productFlavors {
    appProd {
        applicationId 'com.xyz.tycoon'

        ....
    }
}

勾选official doc配置productFlavors

【讨论】:

  • 它会强制用户在设备上安装应用的第二个版本,对吗?
  • 当您发布应用程序或构建以进行调试时,请使用appProd flavor 来捆绑 apk。然后APK配置了com.xyz.tycoon包名而不改变内部结构
猜你喜欢
  • 2021-09-22
  • 2019-02-22
  • 1970-01-01
  • 2021-11-23
  • 1970-01-01
  • 2019-08-07
  • 1970-01-01
  • 2018-05-12
  • 1970-01-01
相关资源
最近更新 更多