文档

接入 Android

更新时间:

mPaaS 提供了配置管理服务(ConfigService)来为 AB 测试实现开关配置。

  • 配置管理服务提供了立即拉取的接口以及监听配置项改变的逻辑,能够实现配置改变后的立即刷新。

  • 默认拉取逻辑为 每隔半小时 拉取一次。

配置管理服务是普通的 Service 组件,使用方式与其他接入者自定义的 Service 无差别。有关 Service 组件,查看 注册 Service 组件

操作步骤

  1. 在 mPaaS 控制台 > 实时发布 > 配置开关管理 中增加需要的开关配置项,并按照平台、白名单、百分比、版本号、机型、Android 版本等信息进行针对性下发配置。具体操作步骤,参考 配置管理

  2. 在 mPaaS 控制台 > 实时发布 中发布了开关配置后,客户端可通过调用接口获取开关配置对应的键值。

配置管理服务对外暴露了很多接口,根据命名就能了解接口的含义,以下为常用的接口:

//通过 key 获取 value,可以看出所有的键值对都是 String 类型
String getConfigForAB(String key, String spm)
//触发加载,非并立即加载,只有满足半小时间隔后才会真正加载
void loadConfig()
//立即向服务端请求最新的配置数据
loadConfigImmediately(long delay)
//登录后,需要将 userId 传递给 ConfigService,只有上传了 userid,白名单才有意义
refreshAfterLogin(String userId)
//监听配置的变化
addConfigChangeListener(ConfigChangeListener configChangeListener)

代码示例

public class MainActivity extends Activity {

    private ConfigService configService = (ConfigService) LauncherApplicationAgent.getInstance().getMicroApplicationContext().findServiceByInterface(ConfigService.class.getName());

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        configService.refreshAfterLogin("mPaaSAndroidTester");
        configService.loadConfig();
        setContentView(com.mpaas.demo.ABtest.launcher.R.layout.main);
        findViewById(R.id.btn_trigger).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String target = configService.getConfigForAB("test0515", "MPABTest");
                Toast.makeText(MainActivity.this, String.format("target: %s", target), Toast.LENGTH_LONG).show();
                MPLogger.uploadAll();
            }
        });

    }
}
  • 本页导读 (0)
文档反馈