android - 如何在应用程序的根文件夹中编辑 google-service.json?

标签 android firebase firebase-cloud-messaging

我想创建一个 Firebase 云消息传递客户端。我想从用户那里获取 id、项目 id、包名称等并编辑我的 google-service.json 文件。从 TextView 中,用户可以更改信息并可以与他们的项目信息一起使用。有什么办法吗?

感谢您的回复!

最佳答案

您创建用户可配置客户端的愿望很不寻常。你一定有一些非常特殊的要求。我不认为你想做的 FCM 客户端配置类型是可能的。我将解释我的推理。

首先,google-services.json 文件是在构建 时处理的,而不是运行 时。它由 Google Services Gradle Plugin 解析,它在 .../app/build/generated/res/google-services/{buildType}/values/values.xml 生成字符串资源的 XML 文件。

当使用 Firebase 的应用程序启动时,FirebaseInitProvider使用这些字符串资源配置自身,并创建 FirebaseApp 的默认实例. FirebaseMessaging.getInstance() 使用默认的 FirebaseApp .

一些 Firebase API,FirebaseDatabaseFirebaseStorage是两个示例,提供接受 FirebaseApp 参数的 getInstance() 方法。对于这些,可以使用 initializeApp() 创建自定义 FirebaseAppFirebaseOptions.Builder指定通常由 google-services.json 提供的值。但是FirebaseMessaging没有接受 FirebaseApp 参数的 getInstance(),强制使用使用 google-services 创建的默认 FirebaseApp。 json 文件。

关于android - 如何在应用程序的根文件夹中编辑 google-service.json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38768053/

相关文章:

android - 2 Android 中 ListView 中的按钮

javascript - 在 Firebase 中,我收到未捕获的类型错误 : Cannot read property 'initializeApp' of undefined,,但不确定为什么未定义 'firebase'?

ios - 在详细 Controller 中打开通知

ios - Firebase,获得具有特定值(value)的 child 的直接 parent

android - 添加firebase消息后 flutter 获得RuntimeException

java - 如何实时验证价格

android - 在 Android 中通过 OTG 电缆使用连接的 USB 播放视频?

android - 如何在 Dart 帖子请求中发送数组

android - 如果设备收到来自 fcm 的推送通知,如何向处于终止状态的 android 应用程序显示/通信/广播消息

android - 大型 Qt 外部二进制资源文件