配置
Parse.Config是一種通過在Parse上存儲單個Config對象來遠程配置應(yīng)用程序的好方法趋箩。它使您可添加功能開關(guān)或簡單的“每日消息”等功能啃炸。要使用Parse.Config鞍泉,您需要在Parse Config Dashboard上向應(yīng)用程序添加一些鍵/值對(參數(shù))。
之后肮帐,您可以在客戶端獲取Parse.Config咖驮,例如:
Parse.Config.get().then(function(config) {
var winningNumber = config.get("winningNumber");
var message = "Yay! The number is " + winningNumber + "!";
console.log(message);
}, function(error) {
// Something went wrong (e.g. request timed out)
});
1.檢索配置
即使在網(wǎng)絡(luò)連接不暢的情況下,ParseConfig仍然保持盡可能的強大可靠托修。默認情況下會使用緩存來確保最新成功獲取的配置始終可用。在下面的示例中恒界,我們使用get從服務(wù)器檢索最新版本的配置睦刃,如果提取失敗,我們可以通過current直接回滾到我們之前成功獲取的版本十酣。
Parse.Config.get().then(function(config) {
console.log("Yay! Config was fetched from the server.");
var welcomeMessage = config.get("welcomeMessage");
console.log("Welcome Message = " + welcomeMessage);
}, function(error) {
console.log("Failed to fetch. Using Cached Config.");
var config = Parse.Config.current();
var welcomeMessage = config.get("welcomeMessage");
if (welcomeMessage === undefined) {
welcomeMessage = "Welcome!";
}
console.log("Welcome Message = " + welcomeMessage);
});
2.當前配置
你得到的每一個Parse.Config實例始終保持不變涩拙。當您以后從網(wǎng)絡(luò)中檢索到新的Parse.Config實例時,它將不會修改任何現(xiàn)有的實例耸采,而是創(chuàng)建一個新的實例兴泥,并通過Parse.Config.current()使其可用。因此虾宇,您可以安全地繞過任何current()對象搓彻,并放心地假定它不會自動更改。
每當您想要使用配置時都從服務(wù)器檢索可能很麻煩嘱朽。您可以直接使用緩存的current()對象和僅定時獲取配置來避免這種情況旭贬。
// Fetches the config at most once every 12 hours per app runtime
var refreshConfig = function() {
var lastFetchedDate;
var configRefreshInterval = 12 * 60 * 60 * 1000;
return function() {
var currentDate = new Date();
if (lastFetchedDate === undefined ||
currentDate.getTime() - lastFetchedDate.getTime() > configRefreshInterval) {
Parse.Config.get();
lastFetchedDate = currentDate;
}
};
}();
3.參數(shù)
通過Parse.Object,ParseConfig支持大多數(shù)數(shù)據(jù)類型:
- string
- number
- Date
- Parse.File
- Parse.GeoPoint
- JS Array
- JS Object
我們目前在配置中最多允許100個參數(shù)搪泳,并且所有參數(shù)的總大小不超過128KB稀轨。