【问题标题】:Does Firebase Cloud Messaging depend on the package name?Firebase 云消息传递是否依赖于包名称?
【发布时间】:2016-09-21 02:23:14
【问题描述】:

我想知道在 Firebase 项目控制台上定义的包名称是否与 Firebase Cloud Message 成功传递密切相关,或者它只是创建 google-services.json 文件的帮助器。

在 Firebase 控制台上,一旦创建就无法重命名。

在我的例子中,我在 Firebase 控制台上创建了一个项目,错误地命名为 son.example.firecm 而不是我的 Android Studio 中定义的 com.example.firecm项目。

我的 Android 项目没有在 google-services.json 编译导致拼写差距。

一旦将包名重命名为 com.example.firecm,它会编译但不确定它是否会接收 Firebase 云消息或不会导致 Android Studio 项目中的 Firebase 控制台项目包定义之间存在差异。

【问题讨论】:

    标签: android firebase google-cloud-messaging firebase-cloud-messaging


    【解决方案1】:

    好吧,我对此做了进一步的研究。

    我发现如果 Firebase Console 上定义的包名与 APP 的 Gradle 和 Manifest 上定义的包名不同,那么 APP 将无法接收 Firebase Console 发送的通知.

    猜测在某种程度上,包名称必须匹配才能在通知到达后让 Android 午餐正确的 APP 成为逻辑。

    总而言之,强制两个名称匹配。

    我邀请您自己进行测试,并密切关注包名称以确保项目成功。

    【讨论】:

      【解决方案2】:

      拥有正确的包名称对于一些服务很重要,尽管不是专门针对 FCM,除了在您发现的 google-services.json 中正确使用它。 FCM 使用项目号来标识应用程序,将从 JSON 文件中读取。

      最好的办法是使用正确的包名称将新的 Android 应用程序连接到您的 Firebase 项目,然后下载更新后的 google-services.json。连接其他包名称不会有什么坏处(一旦控制台允许删除连接的应用程序,您应该能够将其删除)。

      【讨论】:

      • 感谢您的回答。您能解释一下 Firebase 控制台包名和 Android Studio 项目包名必须匹配的服务吗?
      • 大部分带有 Firebase 标签的服务都可以。 Invites 在某些情况下需要它,任何使用身份验证的 Google 服务 - 例如 Google 登录。
      猜你喜欢
      • 2017-07-31
      • 2020-11-22
      • 1970-01-01
      • 2017-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多