Не мгновенное значение Remote Config android? - PullRequest
0 голосов
/ 24 января 2020
implementation 'com.google.firebase:firebase-config:11.8.0'

FirebaseRemoteConfig mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
    FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
            .setDeveloperModeEnabled(BuildConfig.DEBUG)
            .build();

    mFirebaseRemoteConfig.setConfigSettings(configSettings);

    mFirebaseRemoteConfig.fetch(0).addOnCompleteListener(this, new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if (task.isSuccessful()) {
                mFirebaseRemoteConfig.activateFetched();
                String appDefaultColor = mFirebaseRemoteConfig.getString(FIREBASE_REMOTE_CONFIG_DEFAULT_COLOR);
                if (appDefaultColor != null && appDefaultColor.length() > 0) {
                    System.out.println("==== appDefaultColor : " + appDefaultColor);
                }
            }

        }
    });

public static String FIREBASE_REMOTE_CONFIG_DEFAULT_COLOR = "project_default_theme_color";

вот моя реализация удаленной конфигурации Firebase. Как указано выше в моем объяснении кода, project4_default_theme_color , я получаю значение из firebase, но ситуация такова, что я изменяю это значение из удаленной конфигурации Firebase, но я не получаю.

Моя firebase Ключ удаленной конфигурации project_default_theme_color и значение # f04030 и Publi sh Changes.Не так в этом?

1 Ответ

1 голос
/ 24 января 2020

Следуйте приведенным ниже инструкциям для решения этой проблемы

  • Обновите версию своей библиотеки firebase

    implementation 'com.google.firebase:firebase-config:19.1.0'
    implementation 'com.google.firebase:firebase-core:17.2.1'
    
  • Инициализируйте FirebaseRemoteConfig

    FirebaseRemoteConfig firebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
    
  • Установить значение по умолчанию для параметра firebaseRemoteConfig

    firebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);
    
  • Добавить приведенный ниже код в remote_config_defaults. xml

    <?xml version="1.0" encoding="utf-8"?>
    <defaultsMap>
        <entry>
            <key>your_key</key>
            <value>defaultValue</value>
    </entry>
    

  • Добавьте этот код в ваш java файл

       firebaseRemoteConfig.fetch(cacheTimeDuration)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
    
                    String errorString = "";
    
                    if (task.isSuccessful()) {
                        firebaseRemoteConfig.activate();
                        errorString = " task is successful  ";
                    } else {
                        errorString = "task is canceled";
                    }
                    Log.i(TAG, "onComplete: error " + errorString);
                    Log.i(TAG, " Get firebase remote config value " + firebaseRemoteConfig.getString("your_key"));
    
                }
            });
    
  • Примечание:

    • Если ваш Apk отлажен, используйте этот метод .fetch(cacheTimeDuration)
    • Если ваш Apk является Release, используйте этот метод .fetch()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...