Firebase Remote Config を使用してモバイル アプリの秘密鍵を保存しています (セキュリティ上の問題により、クライアント アプリには含めたくありません)。
問題は、短期間にサーバーから構成を何度もフェッチすると、スロットリング例外がスローされる可能性があることです。本番アプリでは、1 時間あたり 5 リクエストの制限がありますが、この制限がユーザーごとにカウントされるのか、グローバルにカウントされるのかはわかりません。
これは私が持っているコードです:
//first search cached result, if present
String key = FirebaseRemoteConfig.getInstance().getString("key");
if(key != null && !key.isEmpty()){
setKeyAndGoHome(key);
}else {
//no key present, let's fetch it from config
FirebaseRemoteConfig.getInstance().fetch().addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
FirebaseRemoteConfig.getInstance().activateFetched();
//key is cached 12 hours
String key = FirebaseRemoteConfig.getInstance().getString("key");
setKeyAndGoHome(key);
} else {
//this can happen due to a throttling exception
}
}
});
}
このキーがないとアプリが機能しないため、これは非常に重要です。スロットル例外条件に到達できるかどうかを知る必要があります。
制限はどのようにカウントされるか知っていますか?
ありがとう。