Après la mise à niveau des bibliothèques Firebase vers
implementation "com.google.firebase:firebase-messaging:18.0.0"
implementation 'com.google.firebase:firebase-config:17.0.0'
implementation 'com.google.firebase:firebase-core:16.0.9'
et en synchronisant Gradle, j'ai reçu un avertissement:
'setConfigSettings(FirebaseRemoteConfigSettings!): Unit' is deprecated. Deprecated in Java
'setDeveloperModeEnabled(Boolean): FirebaseRemoteConfigSettings.Builder!' is deprecated. Deprecated in Java
dans ces lignes:
//Setting Developer Mode enabled to fast retrieve the values
firebaseRemoteConfig.setConfigSettings(
FirebaseRemoteConfigSettings.Builder().setDeveloperModeEnabled(BuildConfig.DEBUG)
.build())
Après avoir lu setConfigSettings et setDeveloperModeEnabled j'ai changé le code en:
firebaseRemoteConfig.setConfigSettingsAsync(
FirebaseRemoteConfigSettings.Builder().setMinimumFetchIntervalInSeconds(3600L)
.build())
METTRE À JOUR
Après la mise à niveau vers com.google.firebase:firebase-config:19.0.0
la méthode setDefaults était également déconseillée. Remplacez-le par setDefaultsAsync
.
Pour compléter la réponse de CoolMind, j'ai trouvé que vous avez (au moins) deux options lorsqu'il s'agit de définir l'intervalle de récupération minimum (setMinimumFetchIntervalInSeconds). Vous pouvez soit faire comme CoolMind l'a dit lorsque vous construisez votre objet remoteConfig (dans Kotlin):
firebaseRemoteConfig.setConfigSettingsAsync(
FirebaseRemoteConfigSettings.Builder()
.setMinimumFetchIntervalInSeconds(TimeUnit.HOURS.toSeconds(12))
.build())
ou vous pouvez définir la valeur dans votre commande fetch comme paramètre fourni. Cet exemple est également dans Kotlin, et j'ai développé mon code pour essayer de clarifier ce qui se passe:
remoteConfig.setConfigSettingsAsync(FirebaseRemoteConfigSettings.Builder().build())
// Fetch the remote config values from the server at a certain rate. If we are in debug
// mode, fetch every time we create the app. Otherwise, fetch a new value ever X hours.
var minimumFetchInvervalInSeconds = 0
if (BuildConfig.DEBUG) {
minimumFetchInvervalInSeconds = 0
} else {
minimumFetchIntervalInSeconds = TimeUnit.HOURS.toSeconds(12)
}
val fetch: Task<Void> = remoteConfig.fetch()
fetch.addOnSuccessListener {
remoteConfig.activate()
// Update parameter method(s) would be here
}