我正在我的应用程序中实现远程配置。这个想法是为了能够A / B测试显示给用户的某些消息。
我可能只想用英文信息进行一些实验,而我试图找出最好的(或最实用的)方法。
对于通过A / B测试和远程配置仅针对特定语言进行实验的推荐方式是什么?
答案 0 :(得分:0)
这是android中提供本地化字符串资源的默认方式。很难维护,但是有一项可以帮助您https://phraseapp.com/的服务。它们具有很多不错的功能,例如手动翻译,跨平台应用程序和ide插件,它们可以将新字符串替换/添加/附加/删除到xml本地化文件中,也适用于ios。
您可以在远程配置中保留字符串资源名称,并通过一些反思来加载它。这是一个很好的答案How to get a resource id with a known resource name?。这是您的情况的示例:
int resourceId = context.getResources().getIdentifier(nameFromRemoteConfig, "string", context.getPackageName())
本地化是一个非常静态的逻辑,在时间和维护方面无聊且昂贵。从我的角度来看,更好的解决方案是为本地化开发自己的最大抽象机制,并将其在所有项目中重用。例如,后端服务或库将按您自己的格式提供本地化数据,而客户端库则将反序列化该数据。这样一来,您将获得可用于未来项目的生产就绪api。