2017-07-06 35 views
2

我試圖使用插件cordova-plugin-firebase檢索Firebase遠程配置,但value總是null如何檢索Firebase「遠程配置」與科爾多瓦

有沒有人得到這個工作,或在我的實施中看到錯誤?

謝謝。

$ionicPlatform.ready(function() { 
    if (window.FirebasePlugin) { 
     window.FirebasePlugin.getValue("xxx", function (value) { 
     console.log(value); 
     }, function (error) { 
     console.error(error); 
     }); 
    } 
}); 

環境

科爾多瓦CLI:7.0.1版本咕嘟咕嘟:CLI 1.2.1版咕嘟咕嘟地方:本地 版本3.9.1離子Framework版本:1.3.2離子CLI版本: 2.1.1 Ionic App Lib版本:2.1.1 ios-deploy版本:1.9.1 ios-sim 版本:5.0.6操作系統:Mac OS X Sierra節點版本:v4.4.0 Xcode版本: Xcode 8.3.1 Build版本8E1000a

回答

3

在使用getValue之前,您需要獲取並激活遠程配置。

像這樣:

$ionicPlatform.ready(() => { 
if (window.FirebasePlugin) { 
    window.FirebasePlugin.fetch(600,(returnValue) => { 
    window.FirebasePlugin.activateFetched((isActivated) => { 
     //Check if the fetched remote config is activated 
     if (isActivated) { 
     window.FirebasePlugin.getValue("xxx", (value) => { 
      console.log(value); 
     }, (error) => { 
      console.error(error); 
     }); 
     } 
    }); 
    }); 
} 

});

你知道你可以使用(目前測試版)Ionic Firebase plugin讓你的生活更輕鬆,這些firebase功能?

編輯:我已經添加了下面的澄清圖像,添加一些更多的上下文,爲什麼你需要首先獲取遠程配置,然後激活它。更多的文檔可以found on the firebase siteenter image description here

希望這有助於...

+0

不,我不知道這個問題的。謝謝。我爲這個項目使用Ionic 1,tho :) Ref。 'isActivated'在什麼情況下配置不會被激活?我不確定我完全理解Remote配置的激活部分。 –

+0

我已經添加了一些更抽象的解釋來回答爲什麼需要獲取和激活。要回答你的問題,在什麼情況下配置不能被激活,很難說。隨着應用程序激活Fetched Config,它將存儲在那裏的值複製到Active Config。我認爲任何會損害這個值的東西會複製到活動配置中會導致失敗的isActivated狀態。 – Ben

+0

謝謝你的澄清。 –