FirebaseRemoteConfig Error "No value of type 'String' exists for parameter key"

17,864

Solution 1

Firebase answer to my bug report:

It seems that you're getting some warning about Remote Config. We managed to reproduce on our end, and our engineers have confirmed that this is working as intended. This happens because the Performance Monitoring SDK was added on your app. This is because Performance Monitoring uses Firebase Remote Config internally. However, our engineers have confirmed that they will try to reduce these warnings in the future. For now, you can ignore these as it's only a warning, and should not affect the app's performance.

Solution 2

It comes from last versions of firebase-perf (for example, 16.2.5), because it has internal firebase-remote-config dependency. I have the same issue, but I don't know how to properly fix this log spam (except "Fold lines like this" option in logcat). I hope Firebase team will fix it soon.

Solution 3

Solution

Firebase Performance released version 19.0.8 last week to address log spam issue. (see Release Note https://firebase.google.com/support/release-notes/android#2020-07-17) You can update your dependency com.google.firebase:firebase-perf to be the same or higher version to validate the fix.


Explaination

To explain more about the reason of this issue: Firebase Performance utilizes Firebase Remote Config to sample down number of events being sent to Firebase, so it will call Firebase Remote Config API getValue(String key) every time it needs the sampling configuration value.

However, Firebase Remote Config fetch happens every 12 hours. It is possible that configuration value doesn't exist by the time of development. In this case, Firebase Performance SDK will use default value.

When the configuration value doesn't exist, Firebase Remote Config will generate this log for warning, which is the source of log spam for Firebase Performance users. (See Source Code)

We have reduced Firebase Performance's call frequency to Firebase Remote Config to avoid triggering this log.

Solution 4

If you use Firebase Console, setting both values in the Remote Config tab stops the warnings.

I've used: (as string values)

  • Parameter key: sessions_max_length_minutes | Value: "15"
  • Parameter key: sessions_feature_enabled | Value: "true"

Not sure if there are any side effects, but (hopefully) it's an internal testing thing and doesn't change anything.

Solution 5

Firebase Performance Monitoring uses Firebase Remote Config internally. You can't change the output, but you can send feedback to the team using the link that I gave in the comment above.

Share:
17,864
Pascal Syma
Author by

Pascal Syma

Hi!

Updated on June 06, 2022

Comments

  • Pascal Syma
    Pascal Syma about 2 years

    I am using Firebase Core and some other Features, but not Remote Config. Multiple times a second the following Output is on Logcat.

    Where can I disable the Remote Config functionality or even set those non-existing values?

    Dependencies:

    // Project
    classpath 'com.android.tools.build:gradle:3.2.1'
    classpath 'com.google.gms:google-services:4.2.0'
    classpath 'com.google.firebase:firebase-plugins:1.2.0'
    
    classpath 'io.fabric.tools:gradle:1.26.1'
    
    // Module
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.android.support:support-vector-drawable:28.0.0'
    implementation 'com.android.support:preference-v7:28.0.0'
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'org.jsoup:jsoup:1.11.3'
    implementation 'com.squareup.okhttp3:okhttp:3.11.0'
    implementation 'com.android.support:cardview-v7:28.0.0'
    
    implementation 'com.google.firebase:firebase-core:16.0.8'
    implementation 'com.google.firebase:firebase-messaging:17.5.0'
    implementation 'com.google.firebase:firebase-perf:16.2.4'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
    implementation 'com.jsibbold:zoomage:1.2.0'
    implementation 'com.android.support:exifinterface:28.0.0'
    implementation 'com.squareup.picasso:picasso:2.71828'
    
    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
    
    W/FirebaseRemoteConfig: No value of type 'String' exists for parameter key 'sessions_max_length_minutes'.
    W/FirebaseRemoteConfig: No value of type 'String' exists for parameter key 'sessions_max_length_minutes'.
    W/FirebaseRemoteConfig: No value of type 'String' exists for parameter key 'sessions_feature_enabled'.
    W/FirebaseRemoteConfig: No value of type 'String' exists for parameter key 'sessions_max_length_minutes'.
    W/FirebaseRemoteConfig: No value of type 'String' exists for parameter key 'fpr_vc_trace_sampling_rate'.
    W/FirebaseRemoteConfig: No value of type 'String' exists for parameter key 'sessions_feature_enabled'.
    W/FirebaseRemoteConfig: No value of type 'String' exists for parameter key 'fpr_vc_trace_sampling_rate'.
    

    It is not causing any problems I think, just annoying that it spams the Console.

  • Pedro Paulo Amorim
    Pedro Paulo Amorim about 5 years
    Also happening on version 16.2.4. Waiting for a fix.
  • Catalin Morosan
    Catalin Morosan about 5 years
    Thanks for the "Fold lines like this" suggestion. Did not know it existed.
  • Oscar Salguero
    Oscar Salguero almost 5 years
    In the meantime, if you don't want to see them while you are debugging your app, you can create a filter to Android Studio Logcat for that log tag: ^(?!(FirebaseRemoteConfig))
  • Sp4Rx
    Sp4Rx almost 5 years
    It would be very helpful if you can link your bug report here @hrk
  • Hrk
    Hrk almost 5 years
    @Sp4Rx Reference on their side is [3-1516000026221] but I only get the answer via mail on May 9th. that's why I couldn't link it.
  • Jamie Dulaney
    Jamie Dulaney almost 5 years
    If you are using pidcat, you can filter this out this way: $ ~/.pidcat.py com.example.your_app -i FirebaseRemoteConfig
  • straya
    straya almost 5 years
    Am I reading this correctly? "We don't care much about the developer experience"
  • Mayur Dhurpate
    Mayur Dhurpate over 4 years
    Is there someone working this issue, like a Github issue or so? I'm developing a Flutter app and the following logs have filled the whole console. W/FirebaseRemoteConfig(27778): No value of type 'String' exists for parameter key 'sessions_max_length_minutes'.
  • ptoinson
    ptoinson over 4 years
    Logcat spam rookie fail. Firebase Perf team get to keep the Raggedy Andy on their desk for the next 6 months.
  • Mike666
    Mike666 over 4 years
    Issue still persist in firebase-perf:19.0.5
  • Rene
    Rene over 4 years
    If anybody reads this because they have the same issue, upvote this on Github: github.com/FirebaseExtended/flutterfire/issues/2005 Note: just upvote with 👍, no need to comment.
  • DragonFire
    DragonFire about 4 years
    Stackoverflow should add a smily below vote-up and vote-down button...
  • MobDev
    MobDev about 4 years
    Still persists on :19.0.7.
  • Peter
    Peter about 4 years
    This is the best answer for anyone looking at this question in 2020 - see firebase.google.com/support/release-notes/android
  • cubuspl42
    cubuspl42 almost 4 years
    I don't confirm this to work. We added these keys and it didn't help.
  • cubuspl42
    cubuspl42 almost 4 years
    I believed that Firebase Performance uses Remote Config itself, as an implementation detail (having its own Firebase project owned by Google).