wy / neos-abtesting
Neos 的 A/B 测试
Requires
- php: ^8.1
- neos/neos: ^8.0
This package is auto-updated.
Last update: 2024-09-08 09:48:41 UTC
README
本包提供了一个简单的后端模块和前端容器,用于在 Neos 中运行 A/B 测试。
安装
运行以下命令以安装包并更新数据库模式。
composer require wy/neos-abtesting ./flow flow:doctrine:migrate
使用方法
本包提供了一个节点容器,用于显示两个不同的节点以供两个不同的决策(A 或 B)使用。
您可以将 A/B 测试容器添加到您的约束中: Wysiwyg.ABTesting:ABTestingContainer
容器有三个内容集合
- itemsa
- itemsb
- itemsc
默认情况下,这些集合接受所有内容节点。您可以通过覆盖自己的 NodeTypes.yaml 文件中的相应节点配置来更改这一点。编辑器必须在每个内容集合中放置一个或多个节点。
重要
两个版本都将始终在 Neos 后端中渲染。默认情况下,如果没有配置和选择任何功能,前端将显示版本 A。
您可以在每个 ABTestingContainer 中找到一个名为 "A / B 测试" 的选项组。此组提供下拉菜单,用于选择要用于容器的功能。
预览不同版本
有时需要查看功能的不同版本。
要查看不同版本,请将 "forceABVersion" GET 参数添加到 URL 中,并将所需的版本作为值分配。
示例
显示版本 A https://example.com/greatFeature.html?forceABVersion=a
显示版本 B https://example.com/greatFeature.html?forceABVersion=b
显示版本 C https://example.com/greatFeature.html?forceABVersion=c
此参数不会覆盖 cookie 值。
后端模块使用
您将在 Neos 后端的主菜单中找到一个名为 "A/B 测试" 的新菜单项。模块 "功能" 将提供所有必要的功能来管理 A/B 测试功能。在 A/B 测试仪表板中,您将找到以下选项
- "创建功能":添加新的 A/B 测试功能
- "功能列表":显示所有 A/B 测试功能的列表
设置
本包使用默认值创建 cookie。
有几个设置可以修改以适应您的实现。
Wysiwyg: ABTesting: cookie: name: "WYSIWYG_AB_TESTING" lifetime: "+2 years"
默认情况下,cookie 的有效期为 2 年。请注意,如果您需要调整它,则使用 strtotime() 来评估生命周期设置的值。
关于隐私(例如 GDPR)
请注意,所有 A/B 测试决策都将保存在名为 "WYSIWYG_AB_TESTING" 的 cookie 中,默认有效期为 2 年。当用户首次打开网页时,将创建此 cookie。
它包含一个包含所有功能和它们决策(a 或 b)名称的原始 JSON 字符串。
每当用户进入页面并且已经具有 cookie 时,将确保保存所有活动功能及其决策。如果有新功能,它们将被添加到 cookie 中,并将包含所有决策的新 JSON 字符串保存。
贡献
欢迎拉取请求。对于重大更改,请首先打开一个问题以讨论您想要更改的内容。
计划中的功能
我们希望增强 A/B 测试,增加更多稳定的功能。
- 决策链
目前,只能向功能添加一个决策。
我们希望实现添加决策链的功能,例如维度决策 AND 百分比。
作者
斯文·乌特里希
亚历山大·舒尔特
伊娃-玛丽亚·穆勒
马文·库恩
许可协议
本软件包采用MIT许可协议(MIT)发布。有关更多信息,请参阅许可文件。