旗子 SDK – growthBook 提供者
这个 增长书提供者 联 合 国 旗帜 SDK 包含对GrowthBook的地物旗和实验的支持.
设置
GrowthBook 服务商可在 @flags-sdk/growthbook 模块。 你可以安装它
pnpm i @flags-sdk/growthbook
提供者实例
您可以导入默认适配器实例 growthbookAdapter 从 @flags-sdk/growthbook数字 :
import { growthBookAdapter } from "@flags-sdk/growthbook";
示例
import { flag } from "flags/next";
import { growthBookAdapter } from "@flags-sdk/growthbook";
export const summerBannerFlag = feature<boolean>({
key: "summer-banner",
adapter: growthBookAdapter.feature(),
});
实验(A/B测试)
要运行GrowthBook实验,必须定义后端跟踪回调功能. 每次一个用户被投入到实验中,都可以用这个来追踪分析系统中的曝光事件. 我们建议在您的旗帜定义文件中定义这个回调(例如:. flags.ts) (中文(简体) ).
import { after } from "next/server";
growthbookAdapter.setTrackingCallback((experiment, result) => {
// Safely fire and forget async calls (Next.js)
after(async () => {
console.log("Viewed Experiment", {
experimentId: experiment.key,
variationId: result.key,
});
});
});
在某些情况下,你可能更喜欢使用前端跟踪回调. 这需要一些执行胶水。 见Vercel Next.js + GrowthBook 实例 详细情况.
粘着的下巴
为了实施粘性打桶(为强盗所必需),您可以创建任意 StickyBucketService 实例并将其应用到适配器(建议 flags.ts) (中文(简体) ). 我们建议利用我们的Redis服务来方便执行.
import { RedisStickyBucketService } from "@growthbook/growthbook";
import Redis from "ioredis";
const redis = new Redis(process.env.REDIS_CONNECTION_URL);
const redisStickyBucketService = new RedisStickyBucketService({ redis });
growthbookAdapter.setStickyBucketService(redisStickyBucketService);
文档
请检查一下 GrowthBook 提供者文档 更多信息.