我可以向Firebase Remote配置声明一个数组吗?

Mun*_*que 12 android firebase firebase-remote-config

我是Android和Firebase的新手.是否可以在Firebase远程配置的参数键内声明一个数组? 在此输入图像描述

我想为某些特定型号/移动设备提供一些促销活动.因此,如果我可以声明一系列模型(例如,三星J5,小米Note2等),我可以轻松地在这些模型上启用促销.请帮我.

Dou*_*son 11

Firebase远程配置中的所有值最终都存储为字符串.布尔,数字等等都归结为字符串.当您要求其他类型时,SDK将只解析该字符串值.

远程配置中没有"本机"阵列.如果您想在Remote Config参数中使用一系列有序值,则应该以可以从字符串值(例如JSON或一些简单的分隔字符串)解析的方式表示它.


and*_*dev 11

Remote Config最近添加了通过将键值列表保存为JSON格式来保存键值列表的选项。

在此处输入图片说明

用法示例:

1.Json存储在远程配置中:

 [
      {
        "lesson": "1",
        "versionCode": 2
      },
      {
        "lesson": "2",
        "versionCode": 4
      },
      {
        "lesson": "3",
        "versionCode": 1
      }
    ]
Run Code Online (Sandbox Code Playgroud)
  1. Kotlin模型

    数据类Lesson(val课程:Int,val versionCode:Int)

3,获取json

String object = FirebaseRemoteConfig.getInstance().getString("test_json");
Gson gson = new GsonBuilder().create();
List<Lesson> lessons = gson.fromJson(object, new TypeToken<List<Lesson>>(){}.getType());
Run Code Online (Sandbox Code Playgroud)

  • @Cristofer 我已经用你的例子的示例用法更新了我的答案 (3认同)

N K*_*ria 5

与道格的答案相同,但带有代码。

这是用 Swift 编写的,但您仍然应该明白其中的意思。

对于数组,使用分隔字符串,例如

"iron,wood,gold"并将其拆分为一个字符串数组,使用.components(separatedBy: ",")

对于字典,使用“双”分隔字符串,例如

"iron:50, wood:100, gold:2000"

使用将其转换为字典

    var actualDictionary = [String: Int]()

    // Don't forget the space after the comma
    dictionaryString.components(separatedBy: ", ").forEach({ (entry) in
    let keyValueArray = entry.components(separatedBy: ":")
            return actualDictionary[keyValueArray[0]] = Int(keyValueArray[1])
    })

    return actualDictionary
Run Code Online (Sandbox Code Playgroud)