配置事件调度程序
About 2 min
配置事件调度程序
本主题介绍如何在云眼灰度发布(特性标帜)AB实验 React SDK 中为每次展示或转化发出的 HTTP 请求配置事件调度程序。
云眼灰度发布(特性标帜)AB实验 SDK 为每个触发的决策事件或转化事件发出 HTTP 请求。React SDK 有一个内置的事件调度器来处理这些事件。
可以自定义在生产中使用的事件调度程序,以便更好地控制 SDK 发送事件的方式,以便它扩展到应用程序处理的卷。通过自定义事件调度程序,可以有效地处理大型事件量,或者在请求失败时实现重试逻辑。可以从头开始构建调度程序,也可以从提供的调度程序开始。
以下示例显示了如何使用事件分派器实例初始化 Eyeofcloud 客户端(或管理器):
React
import { createInstance, eventDispatcher } from '@eyeofcloud/react-sdk';
// Create an Eyeofcloud client with the default event dispatcher
// Note: If you don't pass eventDispatcher, this default event dispatcher
// will be used automatically. This is just to demonstrate how to provide
// an event dispatcher when creating an instance.
const eyeofcloud = createInstance({
datafile: window.datafile, // assuming you have a datafile at window.datafile
eventDispatcher: eventDispatcher,
});
事件调度程序应实现一个dispatchEvent
函数,该函数接受三个参数:httpVerb
、url
和params
,所有这些都由内部类EventBuilder
创建。在此函数中,应该使用params
作为请求的主体(确保将其字符串化为 JSON)和标头中{content-type: 'application/json'}
向给定的url
请求发送POST
请求。
🚧 重要
如果使用的是自定义事件调度程序,请不要修改从云眼灰度发布(特性标帜)AB实验返回的事件负载。修改此有效负载将更改结果。
禁用的事件调度程序
若要禁用将所有事件发送到 Eyeofcloud 功能实验的结果后端,请在创建客户端时使用logOnlyEventDispatcher
:
React
import { createInstance, logOnlyEventDispatcher } from '@eyeofcloud/react-sdk';
const eyeofcloud = createInstance({
datafile: window.datafile,
eventDispatcher: logOnlyEventDispatcher,
});