概览
ABetterChoice 客户端 SDK 让你在 Web 与移动端 App 内本地求值实验分组与 feature flag。
三个客户端 SDK(Android、iOS、 JavaScript)当前在
Settings → SDK&Key下都是Coming soon。 本节各页面描述的是接入形态,便于你提前规划;二进制 / 包尚未发布。 在此之前,移动端与 Web 客户端可以通过你服务端上的轻量代理,调用 HTTP API 接入平台。
通常使用客户端 SDK 包含三个步骤:
1. 初始化
客户端应用启动时,用 项目 ID 与 API 访问密钥 初始化 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 分钟。
平台如何保证可靠性?
评估服务器在全球多个区域部署,且可自动扩容以应对流量尖峰。