我想创建一个 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,FirebaseDatabase和 FirebaseStorage是两个示例,提供接受 FirebaseApp
参数的 getInstance()
方法。对于这些,可以使用 initializeApp() 创建自定义 FirebaseApp
和 FirebaseOptions.Builder指定通常由 google-services.json
提供的值。但是FirebaseMessaging没有接受 FirebaseApp
参数的 getInstance()
,强制使用使用 google-services 创建的默认
文件。FirebaseApp
。 json
关于android - 如何在应用程序的根文件夹中编辑 google-service.json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38768053/