最近發現AGC上部分服務開始支持第三方框架了,其中包括Flutter,因此就小試牛刀試着在遠程配置上實驗了一把。java
a) 下載Flutter sdk包,地址:https://flutter.dev/docs/get-...。android
將壓縮包解壓到任意文件夾,例如D:\Flutterjson
b) 將Flutter添加到環境變量中,此處我添加的Path爲D:\Flutter\flutter_windows_1.22.2-stable\flutter\bin。windows
c) 在Android Studio中點擊「File-Settings-Plugins」,下載Flutter和Dart插件,重啓Android Studio使插件生效。app
a) 在AGC建立Android項目並開通遠程配置服務。框架
b) 在遠程配置中添加以下配置項。maven
c) 在Android Studio中點擊「File-New-New Flutter Project…」,新建Flutter工程。ide
d) 在AGC「項目設置」頁面,找到應用菜單下載agconnect-services.json文件。fetch
e) 將agconnect-services.json文件放入以下圖目錄中的位置。gradle
f) 在應用級build.gradle文件中做以下maven倉和遠程配置插件配置。
g) 打開Flutter項目android/app文件夾下的build.gradle文件,添加編譯依賴和AGC插件地址。
在pubspec.yaml文件中添加遠程配置的pub依賴
而後點擊Pub get進行同步
這裏我實現了一個簡單的demo應用以演示幾個最主要的功能。
UI設計中,有描述爲「Mode 1:Fetch And Activate Immediately」、「Mode 2:Fetch And Activate Next Time」、「Clear Data」三個按鈕,能夠實現以下的主要功能。
a)獲取雲端數據,本次生效
點擊「Mode 1:Fetch And Activate Immediately」按鈕,調用fetch後直接調用applyLastFetched來獲取本次fetch到的數據。因爲是當即生效,因此咱們調用getMergedAll接口來將全部配置應用到本地,咱們在手機上就能獲取到雲端的數據,點擊效果以下:
b)獲取雲端數據,生效上次獲取的配置
延遲生效的實現接口與馬上生效相同,只不過順序不一樣:
點擊「Mode 2:Fetch And Activate Next Time」按鈕,會先apply和getMergedAll來應用上一次fetch的結果,再調用fetch來獲取最新配置以供下次使用。
c) 清除數據
若是想要清除數據,只要點擊「Clear Data」,調用clearAll接口就能夠了。
d) 設置本地配置項
咱們能夠經過在dart文件中新建一個Map類型的參數,而後調用applyDefault接口來應用本地配置:
Map defaults = { 'mLong': 1000, 'mString': 'hello world', 'mDouble': 3.14, 'mBoolean': true }; AGCRemotConfig.instance.applyDefaults(defaults);
e)打包
與Android相同,只須要在Android Studio中點擊運行便可
與在Android平臺設置本地配置項不一樣的是,Flutter沒法使用xml文件來存放本地的配置項。
Flutter官方指導文檔:
https://flutter.dev/docs/get-started/install/windows
如何在Android平臺集成遠程配置服務:
https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-remoteconfig-introduction
原文連接:
https://developer.huawei.com/consumer/cn/forum/topic/0201399745099710131?fid=0101271690375130218做者:鼓樓趙又廷