我可以使用 Firebase 远程配置来更新 strings.xml 的 Android 应用程序吗?
Can I use Firebase remote config for updating strings.xml of Android app?
众所周知,Firebase Remote Config 是一项云服务,可让您更改应用的行为和外观,而无需用户下载应用更新。
我想知道我可以使用 Firebase Remote Config
来更新 strings.xml
吗?
有时我需要更新文件 strings.xml
(例如:更正语言环境的翻译)。为此,我必须更新我的应用程序。
如果我们可以像 Firebase
一样将 strings
存储在服务器中,那就太好了。
我认为你不能通过 Firebase 来完成,只需要更新 apk。
动态更新 strings.xml 是不可能的,但有一个解决方案。当我想使用 Firebase 远程配置进行 A/B 测试时,我 运行 遇到了同样的问题。所以我在生产环境中创建了 FString library for android and it provides a smart solution. It currently powers Mouve Android App。
安装
- 在你项目的模块中build.gradle添加这个依赖
implementation 'com.ravindrabarthwal.fstring:fstring:1.0.0'
- 在你的 Android Application class 添加以下代码
import com.example.myapp.R.string as RString // Import your string
class MyApp: Application() {
override fun onCreate() {
super.onCreate()
FString.init(RString::class.java) // Initializes the FString
}
}
用法
访问字符串
// This is how you get strings without FString
context.getString(R.string.my_app_name) // This is how you normally do
// To get the string using FString use
FString.getString(context, R.string.my_app_name)
// If you prefer extension function use
context.getFString(R.string.my_app_name) // This is how FString works ;)
更新 FString 值
/*
* Assume this JSON is coming from server. The JSON string
* must be parseable to a JSON object with key and value pairs
*/
var jsonFromServer = """
{
"my_app_name": "MyApp v2.0",
"some_other_string": "this is so cool",
}
""".trimIndent()
// This will update the SharedPreference using keys from
// above JSON and corresponding value. The SharedPreference will
// not save any key that is not is strings.xml
FString.update(context, jsonFromServer)
查看库文档以获取更多信息。如果您觉得答案有帮助,请点赞并将其标记为答案。
众所周知,Firebase Remote Config 是一项云服务,可让您更改应用的行为和外观,而无需用户下载应用更新。
我想知道我可以使用 Firebase Remote Config
来更新 strings.xml
吗?
有时我需要更新文件 strings.xml
(例如:更正语言环境的翻译)。为此,我必须更新我的应用程序。
如果我们可以像 Firebase
一样将 strings
存储在服务器中,那就太好了。
我认为你不能通过 Firebase 来完成,只需要更新 apk。
动态更新 strings.xml 是不可能的,但有一个解决方案。当我想使用 Firebase 远程配置进行 A/B 测试时,我 运行 遇到了同样的问题。所以我在生产环境中创建了 FString library for android and it provides a smart solution. It currently powers Mouve Android App。
安装
- 在你项目的模块中build.gradle添加这个依赖
implementation 'com.ravindrabarthwal.fstring:fstring:1.0.0'
- 在你的 Android Application class 添加以下代码
import com.example.myapp.R.string as RString // Import your string
class MyApp: Application() {
override fun onCreate() {
super.onCreate()
FString.init(RString::class.java) // Initializes the FString
}
}
用法
访问字符串
// This is how you get strings without FString
context.getString(R.string.my_app_name) // This is how you normally do
// To get the string using FString use
FString.getString(context, R.string.my_app_name)
// If you prefer extension function use
context.getFString(R.string.my_app_name) // This is how FString works ;)
更新 FString 值
/*
* Assume this JSON is coming from server. The JSON string
* must be parseable to a JSON object with key and value pairs
*/
var jsonFromServer = """
{
"my_app_name": "MyApp v2.0",
"some_other_string": "this is so cool",
}
""".trimIndent()
// This will update the SharedPreference using keys from
// above JSON and corresponding value. The SharedPreference will
// not save any key that is not is strings.xml
FString.update(context, jsonFromServer)
查看库文档以获取更多信息。如果您觉得答案有帮助,请点赞并将其标记为答案。