自: http://www.bingocardcreator.com/abingo/usage
#A view example with a block passed to ab_test:
<% ab_test("call_to_action", %w{button1.jpg button2.jpg}) do |button| >
<%= image_tag(button, :alt => "Call to action!" %>
<% end %>
块中传递的“选择”是否必须是某种链接? a / bingo如何知道何时转换了不同的选择?
答案 0 :(得分:3)
Abingo的工作方式是以一致的方式向不同的“身份”发出不同的选项,以便以后可以将结果再次聚合在一起。有几种方法可以做到这一点,例如通过IP地址,通过session_id或通过注册帐户,所有这些方法都是有效的,可以结合使用。实际上,特定身份将始终获得相同的随机选择。
有关分配标识的文档中的示例是ApplicationController中的处理程序:
before_filter :set_abingo_identity
def set_abingo_identity
if @user
# Assign identity based on user
Abingo.identity = @user.abingo_identity
else
# Assign identity for anonymous user
session[:abingo_identity] ||= rand(10 ** 10).to_i.to_s
Abingo.identity = session[:abingo_identity]
end
end
如果要根据使用的A / B选项跟踪操作,则需要在控制器中注入呼叫。另一个例子:
def show
# Track conversion for active Abingo identity
bingo!("show_info_page")
end
用户导航到该特定页面的机制完全是任意的,可以通过链接,表单提交,JavaScript重定向或单击电子邮件。唯一重要的是,A / B选项的显示和跟踪活动的后续控制器操作都具有相同的Abingo身份。