Aakansha Pathak Ответов: 0

Значения удаленной конфигурации Firebase не обновляются даже после сокращения времени истечения срока действия кэша.


Я реализовал функцию firebase remote config в одном из своих приложений. Когда я удаляю и запускаю его снова, я вижу, что значения поступают с сервера. Но когда я обновления значений на портале военнослужащих и повторно запустите мое приложение, после чего значения не обновляются Я слежу за этим блог. Пожалуйста, дайте мне знать, где я делаю неправильно.

Что я уже пробовал:

import android.graphics.Color
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.google.firebase.remoteconfig.FirebaseRemoteConfig
import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings
import kotlinx.android.synthetic.main.activity_main.*


class MainActivity : AppCompatActivity() {

    private var mFirebaseRemoteConfig: FirebaseRemoteConfig = FirebaseRemoteConfig.getInstance()
    private var GREETING_CONFIG_KEY = "greeting_label"
    private var COLOR_CONFIG_KEY = "color_background"

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        textview_greeting.text = "text view"

        //Enable Debug mode for frequent fetches
        val configSettings = FirebaseRemoteConfigSettings.Builder()
                .setDeveloperModeEnabled(BuildConfig.DEBUG)
                .build()
        mFirebaseRemoteConfig?.setConfigSettings(configSettings)

        getRemoteConfigValues()
    }

    private fun getRemoteConfigValues() {
        //here I have set the cache expiration duration to 1 hour
        //It means app will refresh after every 1 hour to check
        // if some changes are there in remote config
        var cacheExpiration: Long = 3600

        mFirebaseRemoteConfig?.fetch(cacheExpiration)?.addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                Toast.makeText(applicationContext, "Fetch Succeeded", Toast.LENGTH_SHORT).show()
                mFirebaseRemoteConfig?.activateFetched()
            } else {
                Toast.makeText(applicationContext, "Fetch Failed", Toast.LENGTH_SHORT).show()
            }
            //changing the textview and backgorund color
            setRemoteConfigValues()
        }
    }

    private fun setRemoteConfigValues() {
        textview_greeting.setText(mFirebaseRemoteConfig?.getString(GREETING_CONFIG_KEY))
        val remoteValueBackground = mFirebaseRemoteConfig?.getString(COLOR_CONFIG_KEY)
        if (remoteValueBackground.isNotEmpty()) {
            main_layout.setBackgroundColor(Color.parseColor(remoteValueBackground))
        }
    }
}

0 Ответов