2017-12-15 9 views
1

私のアプリでいくつかのブール値用の種類のプロキシを実装したい。次のようにロジックは次のようになります。Firebase Remote Config - 値が存在するかどうかを調べる

  1. 私は、アプリ内の値を使用している場合だけでなくFirebaseに
  2. を設定し、これらの値のいくつかを持って

  3. 私のバックエンドからの値のセットを受け取ります最初にFirebaseに存在するかどうか確認します。

    3.1。存在する場合は、Firebaseの値をとる。

    3.2。値がFirebaseリモートコンフィグレーションで存在する場合、私がチェックする方法 - それが存在しない場合は、バックエンドの値

質問があるを取りますか?

+0

そうするユースケースは何ですか?あなたはこれを介してどのような機能を発揮しようとしていますか? –

+0

誰かがRemote Configのデフォルト値を壊してしまった場合、これをバックアップとして構築していますか? –

+0

逆の場合、バックエンドで何かを混乱させると、ユーザーが自分のアプリで得た価値をすばやく上書きできるようになります(バックエンドを編集できないため、通常は時間がかかります)。 – Kelevandos

答えて

0

私は解決策を発見しました次のように存在を確認することができます。

String value = firebaseRemoteConfig.getString("someKey"); 

if(value.equals("true")){ 
    //The value exists and the value is true 
} else if(value.equals("false")) { 
    //The value exists and the value is false 
} else if(value.equals("")) { 
    //The value is not set in Firebase 
} 

同じことがfirebaseに64に設定long値から返されます。すなわち、他のタイプのために行きますgetString()として"64"

0

documentationに記載されているように、リモート設定でこれが既に実行されています。あなたは、コンソールに定義されていないパラメータにdefault valuesを提供する義務があります。余分な作業をすることなく、説明どおりに機能します。これらのデフォルトは、fetchを実行するまで使用されます。値がコンソールに定義されている場合は、デフォルトの代わりに使用されます。したがって

FirebaseリモートConfigがStringsとしてすべての値をフェッチだけにして、このようなgetBoolean()などの便利な方法で、他のタイプにマップし、getLong()など

、ブール設定値:

+0

問題は、値が動的であることです。私は、アプリケーションを再デプロイせずにfirebaseプロキシの値を追加できるようにしたい。また、私が見たものからデフォルトを定義する義務はありません。そのデータ型のデフォルト値が返されます(false、 ""または0) – Kelevandos

+0

私はあなたが何をしようとしているのか分かりません。 "firebase proxy value"とは何ですか? –

+0

これらのfirebaseの値はマスター値であると考えられます。したがって、火災基地に火災がある場合は、それを使用してください。そうでない場合は、バックエンドから取得したものを使用します。また、バックエンドの値をすべて反復して、ファイアベースにオーバーライドがあるかどうかを確認し、そうであればそれを使用できるようにしたいと考えています。 – Kelevandos

関連する問題