2 个版本 (1 个稳定版)

3.0.0 2024 年 8 月 14 日
0.1.0 2024 年 5 月 14 日

#214 in 配置

Download history 85/week @ 2024-05-09 29/week @ 2024-05-16 5/week @ 2024-05-23

每月 95 次下载

MIT 许可证

175KB
3.5K SLoC

Eppo Rust SDK

Crates.io Version Crates.io MSRV docs.rs

Eppo 是一个模块化的标志和实验分析工具。Eppo 的 Rust SDK 用于在多用户服务器端环境中方便地进行分配。在继续之前,您需要一个 Eppo 账户。

有关如何安装和使用 SDK 的信息,请参阅 SDK 文档

功能

  • 功能门
  • 紧急开关
  • 渐进式发布
  • A/B/n 实验
  • 相互排斥的实验(层)
  • 动态配置

安装

使用 cargo 添加

cargo add eppo

或手动添加到 Cargo.toml

[dependencies]
eppo = "0.1.0"

快速入门

初始化 Eppo 客户端的实例。一旦初始化,客户端就可以用来在您的应用程序中进行分配。

初始化客户端

use eppo::ClientConfig;

let mut client = ClientConfig::from_api_key("api-key").to_client();
client.start_poller_thread();

任何地方的分配

let user = get_current_user();

let assignment = client.get_assignment(
    "show-new-feature",
    &user.id,
    &user.attributes,
);

分配记录器

在初始化 SDK 时将日志回调函数传递给 assignment_logger 方法中的 ClientConfig,以捕获用于分析的分配合集。

struct MyAssignmentLogger;

impl AssignmentLogger for MyAssignmentLogger {
    fn log_assignment(&self, event: AssignmentEvent) {
        // Implement assignment logging logic here
    }
}

依赖项

~7–20MB
~294K SLoC