2016-10-15 2 views
0

Firebase Remote Config를 사용하여 간단한 TextView의 색상을 변경하는 데모 프로젝트를 만들고 있습니다. 그러나 함수 mRemoteConfig.fetch (cacheExpiration) .addOnCompleteListener ...는 전혀 트리거하지 않습니다. 텍스트 색상이 변경되지 않습니다. 내가 모르는 뭔가가Firebase Remote Config fetch()가 전혀 트리거되지 않습니다

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    text = (TextView) findViewById(R.id.text); 
    initRemoteConfig(); 
} 


private void initRemoteConfig() { 
    mRemoteConfig = FirebaseRemoteConfig.getInstance(); 

    HashMap<String, Object> defaults = new HashMap<>(); 
    defaults.put("color_primary", getString(R.string.color_primary)); 

    mRemoteConfig.setDefaults(defaults); 
    FirebaseRemoteConfigSettings remoteConfigSettings = new FirebaseRemoteConfigSettings.Builder() 
      .setDeveloperModeEnabled(true) 
      .build(); 
    mRemoteConfig.setConfigSettings(remoteConfigSettings); 
    fetchRemoteConfigValues(); 
} 

private void fetchRemoteConfigValues() { 
    long cacheExpiration = 3600; 

    //expire the cache immediately for development mode. 
    if (mRemoteConfig.getInfo().getConfigSettings().isDeveloperModeEnabled()) { 
     cacheExpiration = 0; 
    } 

    mRemoteConfig.fetch(cacheExpiration) 
      .addOnCompleteListener(this, new OnCompleteListener<Void>() { 
       @Override 
       public void onComplete(Task<Void> task) { 
        if (task.isSuccessful()) { 
         // task successful. Activate the fetched data 
         mRemoteConfig.activateFetched(); 
         setupView(); 
        } else { 
         //task failed 
        } 
       } 
      }); 
} 

private void setupView() { 
    setTextColor(); 
} 

private void setTextColor() { 
    boolean isPromoOn = true; 
    int color = isPromoOn ? Color.parseColor(mRemoteConfig.getString("color_primary")) : 
      ContextCompat.getColor(this, R.color.color_primary); 

    text.setTextColor(color); 
} 

암 : 여기

내 코드? 도움을 주셔서 감사합니다 :)

답변

0

Firebase Console을 올바르게 설정 한 경우 최신 Google Play 서비스을 휴대 전화에서 사용할 수 있는지 확인하고 작업하시기 바랍니다.