1. 程式人生 > 其它 >華為 AGC - 遠端配置類 AB 測試實戰指導

華為 AGC - 遠端配置類 AB 測試實戰指導

華為 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測試操作文件

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-abtest-introduction-0000001058210679

華為遠端配置 SDK開發指南:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-remoteconfig-android-getstarted-0000001056347165

華為分析服務SDK 開發指南:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/android-dev-process-0000001050163813