web-dev-qa-db-ja.com

'setConfigSettings(FirebaseRemoteConfigSettings!):Unit'は廃止予定です

Firebaseライブラリをにアップグレードした後

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'

gradleを同期すると、警告が出ました:

'setConfigSettings(FirebaseRemoteConfigSettings!): Unit' is deprecated. Deprecated in Java
'setDeveloperModeEnabled(Boolean): FirebaseRemoteConfigSettings.Builder!' is deprecated. Deprecated in Java

これらの行で:

//Setting Developer Mode enabled to fast retrieve the values
firebaseRemoteConfig.setConfigSettings(
    FirebaseRemoteConfigSettings.Builder().setDeveloperModeEnabled(BuildConfig.DEBUG)
        .build())
14
CoolMind

setConfigSettings および setDeveloperModeEnabled を読んだ後、コードを次のように変更しました。

firebaseRemoteConfig.setConfigSettingsAsync(
    FirebaseRemoteConfigSettings.Builder().setMinimumFetchIntervalInSeconds(3600L)
        .build())

更新

com.google.firebase:firebase-config:19.0.0にアップグレードした後、メソッド setDefaults も廃止されました。 setDefaultsAsyncに置き換えます。

15
CoolMind

CoolMindの答えを補足するために、最小フェッチ間隔(setMinimumFetchIntervalInSeconds)を設定する場合、(少なくとも)2つのオプションがあることがわかりました。 (Kotlinで)remoteConfigオブジェクトをビルドするときにCoolMindが言ったように、次のいずれかを実行できます。

firebaseRemoteConfig.setConfigSettingsAsync(
    FirebaseRemoteConfigSettings.Builder()
        .setMinimumFetchIntervalInSeconds(TimeUnit.HOURS.toSeconds(12))
        .build())

または、フェッチコマンド内の値を指定されたパラメーターとして設定できます。この例もKotlinにあり、コードを拡張して、何が起こっているのかを非常に明確にしようとしています。

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
}
1
ConcernedHobbit