2016-09-20 5 views
-3

私は何をしようとしていることcolorPrimay、colorDarkPrimaryなど、FirebaseのRemoteConfigの値ので、私は可能なリモート設定からアプリケーションの色を変更することができ、私は以下のなかったことを保存することですFirebase Remote ConfigでcolorPrimary、colorPrimaryDarkなどを変更するにはどうすればよいですか?

UPDATE: 私がやろうとしているのは、colorPrimay、colorDarkPrimaryなどの値をFirebaseのRemoteConfigに保存して、リモートのconfiからアプリケーションの色を変更できるようにすることです。どうすればいい?

UPDATE:

私が試してみましたが

<--!remote_config_default.xml!--> 


<defaultsMap> 
<entry> 
    <key>primaryColor</key> 
    <value>#9c27b0</value> 
</entry> 
<entry> 
    <key>colorPrimaryDark</key> 
    <value>#7b1fa2</value> 
</entry> 
<entry> 
    <key>colorAccent</key> 
    <value>#FF4081</value> 
</entry> 
<entry>welcomeMessage</entry> 
<value>Connection Failed</value> 

そしてこの

void applyRemoteConfig() { 
     mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance(); 
     mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_default); 
     // cacheExpirationSeconds is set to cacheExpiration here, indicating that any previously 
// fetched and cached config would be considered expired because it would have been fetched 
// more than cacheExpiration seconds ago. Thus the next fetch would go to the server unless 
// throttling is in progress. The default expiration duration is 43200 (12 hours). 
     int cacheExpiration = 1000; 
     final String TAG = "Riddles"; 
     mFirebaseRemoteConfig.fetch(cacheExpiration) 
       .addOnCompleteListener(new OnCompleteListener<Void>() { 
        @Override 
        public void onComplete(@NonNull Task<Void> task) { 
         if (task.isSuccessful()) { 
          Log.d(TAG, "Fetch Succeeded"); 
          // Once the config is successfully fetched it must be activated before newly fetched 
          // values are returned. 
          mFirebaseRemoteConfig.activateFetched(); 
         } else { 
          Log.d(TAG, "Fetch failed"); 
          String message = mFirebaseRemoteConfig.getString("welcomeMessage"); 
          displayWelcomeMessage(message); 
          Log.d(TAG, message); 
         } 
        } 
       }); 

     String message = mFirebaseRemoteConfig.getString("welcomeMessage"); 
     displayWelcomeMessage(message); 
     Log.d(TAG, message); 


    } 

しかし

mFirebaseRemoteConfig.getString("colorPrimary"); 

mFirebaseRemoteConfig.getString("colorDarkPrimary"); 

mFirebaseRemoteConfig.getString("welcomeMessage"); 
のようなフェッチのようなものです

Nullを返しています。

答えて

1

これをリモートの設定ファイルに追加できます。

<!-- color entries --> 
    <entry> 
     <key>color_primary</key> 
     <value>#3F51B5</value> 
    </entry> 
    <entry> 
     <key>color_primary_dark</key> 
     <value>#303F9F</value> 
    </entry> 

、動的にアプリの色を変更するだけでなく、遠隔設定によって提供される旗を持っているとfetch()を使用してそれを変更します。精巧な実装のためrefer to this.

+0

ええ、私が行ったことを更新しました。 –

+0

@NgimaSherpaはあなたのフェッチ成功ですか?フェッチが成功したかどうかを確認するためにロガーを確認できますか? – Mithun

+0

Fetch failed –

関連する問題