華為 AppGallery Connect 服務,提供有AB測試功能,可以已經正常使用的 Push 通知或者遠程配置,創建對照試驗測試,用於檢查對比不同方案的區別,可以幫助產品或者運營的同事,更加數據充足的選擇最佳方案。
下面是在華為 AGC 平台,從零開始使用遠程配置類AB測試的實戰指導教程。如有不對的地方,還請多多指導。
一、前置要求:集成遠程配置
首先,使用遠程配置的AB測試,前置要求是在應用中已經正確集成遠程配置的SDK,並且在應用內已經預留好進行遠程配置的參數。
下面是最簡單的從零開始集成遠程配置SDK並且預留參數的相關步驟
1、在項目級的 build.gradle 中添加 Maven 倉庫地址:
buildscript {
repositories {
maven { url 'https://developer.huawei.com/repo/'}
}
dependencies {
classpath 'com.huawei.agconnect:agcp:1.5.2.300'
}
}
allprojects {
repositories {
maven { url 'https://developer.huawei.com/repo/'}
}
}
2、添加 AGCP 插件與 agc 配置文件
在應用級build.gradle添加如下agcp插件
apply plugin: 'com.huawei.agconnect'
3、在 AGC 控制台的 我的項目 – 項目設置 下,下載 agconnect-services.json 文件,將其下載到項目的 app 路徑下

4、在應用級 build.gradle 添加 SDK 依賴
dependencies {
implementation 'com.huawei.agconnect:agconnect-remoteconfig:1.5.2.300'
implementation 'com.huawei.hms:hianalytics:5.3.1.300'
}
5、代碼預留遠程配置參數
如下為簡單的Android代碼,我只是在一個完全新建的Android工程中,添加了一個獲取遠程配置的按鈕。
在該按鈕中設置對應的參數默認值,並且通過fetch獲取雲側的遠程配置參數
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
HiAnalyticsTools.enableLog();
HiAnalyticsInstance instance = HiAnalytics.getInstance(this);
getAAID();
findViewById(R.id.button).setOnClickListener(view -> {
getRemoteCongfig();
});
}
public void getRemoteCongfig() {
// 獲取遠程配置實例
config = AGConnectConfig.getInstance();
Map<String, Object> defaultValue = new HashMap<>();
// 添加鍵值對
defaultValue.put("welcome_string", "this is a default welcome_slogan");
config.applyDefault(defaultValue);
config.fetch(10).addOnSuccessListener(configValues -> {
config.apply(configValues);
String newSlogan = config.getValueAsString("welcome_string");
Log.i(TAG, "RemoteConfig Success: " + newSlogan);
}).addOnFailureListener(e1 -> Log.e(TAG, "getRemoteConfig failed: " + e1.getMessage())
);
}
二、前置要求:集成華為分析
生成AB測試的報告,需要使用華為分析服務,因此需要在代碼中集成華為分析SDK,由於AB測試事件屬於華為分析的自動采集事件,因此華為分析的集成步驟非常簡單:
1、在應用級build.gradle添加SDK依賴
dependencies {
implementation 'com.huawei.hms:hianalytics:5.3.1.300'
}
2、在OnCreate中初始化華為分析
HiAnalyticsTools.enableLog();
HiAnalyticsInstance instance = HiAnalytics.getInstance(this);
三、在AGC界面創建遠程配置
在AGC界面,選擇我的項目,在項目上選擇 遠程配置 – 選擇 添加配置項目;
https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/

需要注意的是,配置項名稱必須和代碼中預留的參數名稱保持一致。插件保存好以后,返回上一個層級,點擊 發布,發布該配置項。
四、創建遠程配置類AB測試。
在AGC界面,選擇我的項目,在項目上選擇AB測試 – 選擇 創建遠程配置實驗;
https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/
按要求隨便創建一個測試,注意此時最好目標用戶的比例調高一些,激活事件建議不選。
此處我為了方便查看測試效果,過濾語言條件選擇語言,並且全選了所有語言,大家自己測試的時候可以按需選擇哈。

配置原始組和實驗組的時候,可以下拉選擇對應的配置項。

最后一步的選擇跟蹤指標,我這里就選擇一個最簡單的 點擊率。 四個步驟都配置完成以后,即可點擊保存
五、運行實驗,在App中執行fetch獲取
1、在操作欄,選擇 啟動,啟動實驗 。


2、運行App,並且點擊按鈕獲取雲端配置。
相應的日志如下:

需要注意的是:
創建好的AB測試,可以通過最右側的操作,選擇 調測 來進行實驗效果的調測。調測所使用的aaid的獲取如下
public void getAAID() {
Task<AAIDResult> idResult = HmsInstanceId.getInstance(this).getAAID();
idResult.addOnSuccessListener(new OnSuccessListener<AAIDResult>() {
@Override
public void onSuccess(AAIDResult aaidResult) {
// 獲取AAID方法成功
String aaid = aaidResult.getId();
Log.d(TAG, "getAAID successfully, aaid is " + aaid );
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception myException) {
// 獲取AAID失敗
Log.d(TAG, "getAAID failed, catch exceptio : " + myException);
}
});
}

六、查看實驗報告
對於已運行的實驗,可以在右側操作欄點擊 報告 查看相應的AB測試數據報告,界面參考如下:

參考文檔鏈接:
華為AGC AB測試操作文檔
華為遠程配置 SDK開發指南:
華為分析服務SDK 開發指南: