19

開発者モードを に設定して、リリース モードの firebase リモート構成をセットアップしようとしていますfalse。しかし、キャッシュの有効期限が 3000 秒未満 (実験的に決定された、少し短い可能性があります) の場合、データのフェッチに失敗します。投げるFirebaseRemoteConfigFetchThrottledException

FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
                        .setDeveloperModeEnabled(false)
                        .build();

そして、.setDeveloperModeEnabled(true)それを使用すると、いつでも 0 を設定でき、うまく機能します。

ここにハンク全体があります:

new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
            FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
                    .setDeveloperModeEnabled(false)
                    .build();

            mFirebaseRemoteConfig.setConfigSettings(configSettings);
            mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);

            mFirebaseRemoteConfig.fetch(CACHE_EXPIRATION)
                    .addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {
                            Log.i("info32", "remote config succeeded");
                            mFirebaseRemoteConfig.activateFetched();
                        }
                    })
                    .addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception exception) {
                            Log.i("info32", "remote config failed");
                        }
                    });
        }
    }, 0);

何が問題なのか説明していただけますか?

4

1 に答える 1

30

Remote Config は、クライアント側のスロットリングを実装して、バグのあるクライアントや悪意のあるクライアントが、高頻度のフェッチ リクエストで Firebase サーバーを爆破するのを防ぎます。1 人のユーザーは、制限が 1 時間あたり 5 リクエストであると報告しています。制限について文書化された場所はどこにもありませんが、高速フェッチを 5 回行うとスロットリングが有効になることが確認されています。

構成値のキャッシュについては、ドキュメントで説明されています。スロットリングの制限により、リリースされたアプリが Remote Config 値の変更をすぐに確認することはできません。キャッシュされた値は、次のフェッチが許可されるまで使用されます。デフォルトのキャッシュ有効期限は 12 時間です。

于 2016-07-28T14:26:36.917 に答える