Ведение журнала удваивается для аналитики Firebase в веб-просмотре, как рекомендовано в Firebase Код ссылки / примера на github приведет к тому, что значения окажутся в разных полях значений в зависимости от значения.Причина в том, что javascript имеет тип Number и десятичные дроби не отображаются, когда значение является целым числом (т. Е. 5,00 представляется как 5, а 5.01 - как 5.01).Когда параметры регистрируются с помощью logEvent () в веб-представлении, AnalyticsWebInterface.java проверяет, является ли значение параметра String, Integer или Double, и сохраняет значение в соответствующем поле (stringValue, intValue или floatValue).Следовательно, если вы регистрируете цену продукта в качестве параметра, он будет иметь значение intValue, если цена равна 5,00, и floatValue, если цена равна 5,01.Это действительно усложнит анализ этих данных.
Object value = jsonObject.get(key);
if (value instanceof String) {
result.putString(key, (String) value);
} else if (value instanceof Integer) {
result.putInt(key, (Integer) value)
} else if (value instanceof Double) {
result.putDouble(key, (Double) value);
} else {
Log.w(TAG, "Value for key " + key + " not one of [String, Integer, Double]");
}