Skip to content

概览

ABetterChoice 客户端 SDK 让你在 Web 与移动端 App 内本地求值实验分组与 feature flag。

三个客户端 SDK(AndroidiOSJavaScript)当前在 Settings → SDK&Key 下都是 Coming soon 本节各页面描述的是接入形态,便于你提前规划;二进制 / 包尚未发布。 在此之前,移动端与 Web 客户端可以通过你服务端上的轻量代理,调用 HTTP API 接入平台。

通常使用客户端 SDK 包含三个步骤:

1. 初始化

客户端应用启动时,用 项目 IDAPI 访问密钥 初始化 SDK。SDK 向最近的评估服务器请求当前 登录用户的实验与 feature flag 结果,并写入本地缓存。初始化后,客户端 SDK 每 10 分钟向评估 服务器轮询一次更新。

2. 实验与 feature flag 求值

业务代码通过 getExperiment / getFeatureFlag 调用 SDK 时,SDK 立即返回本地缓存里的值。

3. 上报实验曝光

对启用了实验的实验与 feature flag,平台提供两种曝光上报方式:

  • 调用 getExperiment / getFeatureFlag 时由 SDK 自动上报;
  • 需要稍后再上报的场景,调用独立 API LogExperimentExposure 手动上报。

两种方式下,曝光都先在本地累积,再周期性刷到平台。

常见问题

客户端 SDK 的求值在哪里发生?

全部求值逻辑都在评估服务器侧完成。

客户端 SDK API 的整体时延?

由于结果是预计算好的,API 的时延极低。

我的变更多久能到用户?

更新传播时延包含两段:DB 到全球评估服务器,以及评估服务器通过周期性轮询同步到客户端 SDK。 总体约 10 分钟。

平台如何保证可靠性?

评估服务器在全球多个区域部署,且可自动扩容以应对流量尖峰。