網際網路產品離不開的雲控系統
文/PM回憶錄
雲控系統:雲控即在雲端控制產品引數,一般引數可以有幾種型別,數值,文字,連結等。下面以我們公司的雲控雛形來解釋一下雲控是什麼?為什麼要用?怎麼用?
What?
雲端控制,可以在程式執行的時候,通過網路從雲端獲取資料,一般為了便於處理,後臺給的資料可以是json的格式的:

在程式端,一般需要給引數一個預設值,在有網路的情況下我們會獲取雲控來修改引數,若獲取失敗,則會使用預設值。
Why?
因此,雲控可以通過雲端來控制使用者的互動,如彈窗的頻次,頁面是否顯示,或者在某一些語言環境中配置某些入口。這樣,我們就可以做針對性的體驗優化,並可以做一些測試,若是效果不好,就可以及時關掉入口。
How?
下面先用一張思維導圖列出雲控系統的一種簡單結構。控制型別可以看作是模組名,控制項可以看作是功能點,引數可以看作是這個功能的雲控細節。

如下圖,給一個實際的例子:

這個引數可以解釋為,在ad模組下,雲控卡片的動畫效果,引數為pageCPU,他的值為2,則客戶端獲取到雲控之後,就會根據相應的引數來配置這個動畫效果。
瞭解了雲控的基本原理,我們來看看 雲控可以控制哪些東西吧:
1.控制開關
數值型別的0或1,一般用來控制開關狀態;
2.控制數量、次數
數值型別的數字,來控制展示的總次數,間隔次數等;
3.控制時間間隔X天,X秒
數值型別的數字,來控制某種觸發機制的最小生效時間間隔,如兩次顯示之間間隔10小時;
4.控制概率
數值型別,可小數,整數均可,可與客戶端協商,用來雲控某事件生效的概率;
5.選擇幾種選項
數值型別,用來分別表示一種選擇,如幾種樣式,雲控顯示某一種;
6.二進位制,每個位代表一個模組,01分別代表兩種選項
數值型別,如001111,可用來一次性雲控多個地方的開關,0表示關1表示開,從左到右分別表示六個地方的開關,最好是不同功能但型別相同的開關選項;
7.控制展示時長
數值型別,如廣告可關閉最小時間,如視訊網站的廣告;
8.控制語種灰度
文字型別,可通過某種特定方式來傳輸語種程式碼,如id:hi:in:vi:ms:pt:ja,代表這幾種語種要進行處理;

9.控制顏色
文字型別,如#2c2c2c,來傳輸特定的字元的顏色等;
10.多語言

多語言內容編輯:

11.連結-可用文字表示
文字屬性,可傳輸連結,如廣告圖片連結地址,廣告下載地址等;
12.國家,可以選擇國家的雲控

13.灰度:

14.版本:


自問自答:
雲控的趨勢: 現在客戶端的趨勢都是走動態化的,底層能力支撐發版解決,其他頁面改動都走動態化。以上說的是雲控給客戶端下發引數,但如果有類似weex的客戶端動態化解決方案,還可以直接下發頁面。
客戶端判斷還是雲端判斷: 一般都是在客戶端做的判斷,如果要依靠服務端的話就需要客戶端要把這些維度資訊上行到服務端,服務端根據規則匹配後再下發。服務端可以配一些版本維度之類簡單的匹配規則,像語言、國家、等可能變化的有時效性的還是放在客戶端比較好。
什麼是AB-test : abtest 就是兩個相同功能的不同實現,a和b,配置規則後一部分客戶端出a,一部分出b。然後將a和b對應產生的結果資料上行服務端,pd根據上行上來的資料最終確定用a方案還是b。
以上是針對雲控系統的一個解讀,雲控系統可以說就是在客戶端獲取一些特定的引數,通過這些引數可以動態改變特定使用者的使用體驗,可針對不同型別的使用者進行不同程度或角度的優化,同時也提高了版本的容錯率,也給了產品經理更多的測試機會。是網際網路產品設計環節不可多得的利器。