EvolvKit
示例
要运行示例项目,克隆仓库,然后从 Example 目录中首先运行 pod install
。
要求
cocoapods
sudo gem install cocoapods
安装
EvolvKit 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod 'EvolvKit'
许可
EvolvKit 采用 Apache License, Version 2.0 许可。有关更多信息,请参阅 LICENSE 文件。
如何使用 EvolvKit SDK
词汇表
参与者:应用程序的最终用户,实验中记录其行为的人员。分配:分配给参与者的配置集,进行实验的值。
有关如何使用此 SDK 的完整示例,请参阅我们的示例应用程序。
导入 SDK
- 导入 Evolv SDK。
import EvolvKit
参与者初始化
- 构建一个 EvolvParticipant 实例。
let participant = EvolvParticipant.builder().build()
or
let participant = EvolvParticipant.builder().(userId: <custom_id>).build()
注意:如果您未设置参与者的 userId,构建器将为您创建一个唯一标识。
客户端初始化
- 构建一个 EvolvConfig 实例。
let config: EvolvConfig = EvolvConfig.builder(environmentId: <environment_id>, httpClient: <http_client>).build()
- 初始化 EvolvClient。
let client: EvolvClient = EvolvClientFactory.createClient(config: config)
确认分配
- 客户端初始化后,确认参与者加入实验。
client.confirm()
注意:客户端初始化后,确认参与者加入实验是很重要的。这一操作将记录参与者的分配并将其信息发送回 Evolv。
价值订阅
您可能希望在不阻塞应用程序执行的情况下使用从您的分配中提取的价值。如果是这样,您可以订阅一个值,并异步地应用它在异步操作中的任何动作。
- 订阅来自Evolv的值。
client.subscribe(forKey: <key_for_value>, defaultValue: <default_value>, closure: <closure>)
注意:返回值的类型由提供的默认值的类型决定。如果检索请求的值存在问题,将返回默认值。如果之前已存储以前的分配的值,则将检索该值然后执行您的代码。当检索到新的分配时,如果值与之前存储的分配不同,则将再次使用新值运行您的代码。如果您的代码导致异常,则将抛出异常。
自定义事件(可选)
有时,您可能想要记录在参与者的会话过程中发生的事件。一个重要的记录事件示例是“转换”事件。如果您在购物应用程序中实现了SDK,则当参与者点击结账按钮时,可以发送“转换”事件。
- 触发自定义事件。
client.emitEvent(forKey: <event_type>)
AND / OR
- 带有相关得分的自定义事件。
client.emitEvent(forKey: <event_type>, score: <score>)
污染分配(可选)
有时可能有必要污染参与者的分配。这意味着您可能不希望修改参与者的会话记录到实验中。
- 污染参与者的分配。
client.contaminate()
自定义分配存储(可选)
一旦参与者被分配到实验中,您可能希望保留他们收到的分配。为此,通过实现EvolvAllocationStore接口创建自定义分配存储。您可以在构建EvolvConfig时向客户端提供自定义分配存储。
- 向客户端提供分配存储。
let config = EvolvConfig.builder(environmentId: <environment_id>, httpClient: <http_client>)
.set(allocationStore: <custom_store>)
.build()
let client = EvolvClientFactory.createClient(config: config,
participant: EvolvParticipant.builder().set(userId: "sandbox_user").build())
可选配置
通过EvolvConfig构建器,您可以找到一些可选配置,查看EvolvConfig文档以了解可用选项。
关于Evolv及其产品
Evolv在Web和移动端提供自主优化。
您可以访问以下链接了解更多信息:[https://www.evolv.ai/](https://www.evolv.ai/)