本文介紹如何整合 mPaaS 提供的開關配置功能。
開關配置是一種在用戶端不用發布新版本的情況下,動態修改用戶端代碼處理邏輯的能力。用戶端根據拉取後台動態配置的開關值,來控制相關處理。通過開關佈建服務,您可以實現各種開關的配置、修改、推送。開關是指 key-value 的索引值對。目前,開關配置支援 原生 AAR 接入 和 組件化接入 兩種接入方式。
使用開關配置涉及到調用 MDS 的更新發布介面,會產生相應的介面調用費用。有關介面調用的計費說明,參見 產品定價 中的即時發布計費項目說明 。
整個過程分為以下三步:
前置條件
若採用原生 AAR 方式接入,需要先 mPaaS添加到您的專案中。
若採用組件化方式接入,需要先完成 接入流程。
添加 SDK
原生 AAR 方式
參考 AAR 組件管理,通過 組件管理(AAR) 在工程中安裝 開關配置(CONFIGSERVICE)組件。
組件化方式
在 Portal 和 Bundle 工程中通過 組件管理 安裝 開關配置(CONFIGSERVICE)組件。
更多資訊,參考 管理組件依賴。
初始化 mPaaS
如果您使用原生 AAR 接入方式,則需要初始化 mPaaS。
請在 Application
對象中添加以下代碼:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// mPaaS 初始化
MP.init(this);
}
}
詳情請參考:初始化 mPaaS。
使用 SDK
mPaaS 提供開關組態管理介面 MPConfigService
來實現開關配置。
實現開關配置的操作步驟如下:
在 mPaaS 控制台的 即時發布 > 配置開關管理 頁面中增加需要的開關配置項,並按照平台、白名單、百分比、版本號碼、機型、Android 版本等資訊進行針對性下發配置。具體操作步驟參考 組態管理。
當控制台發布了開關鍵後,用戶端可通過調用介面擷取開關鍵對應的索引值。
開關組態管理介面
MPConfigService
對外暴露了很多介面,根據命名就能瞭解介面的含義,以下為各個介面及注釋。重要監聽器會以軟引用形式存在,當記憶體較低時,系統會進行回收。因此請盡量避免使用全域監聽,而是採用隨時註冊、用完移除的方式使用開關監聽。
public class MPConfigService { /** * 擷取開關 * * @param key * @return */ public static String getConfig(String key); /** * 載入開關,預設達到半小時間隔才會去服務端拉取最新開關。 */ public static void loadConfig(); /** * 馬上載入開關 * * @param delay 載入開關的延遲時間,單位毫秒,0 為立刻載入 */ public static void loadConfigImmediately(long delay); /** * 註冊開關改變監聽器 * @param configChangeListener 監聽器 * @return */ public static boolean addConfigChangeListener(ConfigService.ConfigChangeListener configChangeListener); /** * 移除開關改變監聽器 * @param configChangeListener 監聽器 */ public static void removeConfigChangeListener(ConfigService.ConfigChangeListener configChangeListener); }