我正在查看 Kissmetrics(分析应用程序)JS API 文档,他们有一个“识别”方法,可以让您告诉 Kissmetrics 有关用户的信息。这是他们的文档所说的:
我们建议您在两种情况下调用 identify:
当用户成功注册 当用户通过 cookie 或登录页面成功登录时
实现这一目标的最佳方法是什么?如何检测用户何时刚刚注册或登录?
我正在查看 Kissmetrics(分析应用程序)JS API 文档,他们有一个“识别”方法,可以让您告诉 Kissmetrics 有关用户的信息。这是他们的文档所说的:
我们建议您在两种情况下调用 identify:
当用户成功注册 当用户通过 cookie 或登录页面成功登录时
实现这一目标的最佳方法是什么?如何检测用户何时刚刚注册或登录?
让我们将问题分为两部分:注册和登录。
您可以检测新用户何时在您的应用中注册,只需在您的模型中添加一个after_create
钩子。User
就像是
class User < ActiveRecord::Base
after_create :register_hook
def register_hook
# your code here
end
end
检测用户何时登录有点脏。设计在他/她登录时修改user.current_sign_in_at
用户的属性,以便您可以before_save
在用户模型中添加一个钩子并检查current_sign_in_at
属性是否已更改。它应该是这样的:
class User < ActiveRecord::Base
before_save :login_hook, :if => current_sign_in_at_changed?
def login_hook
# your code here
end
end
一旦你有正确的回调来检测登录/注册,你就可以创建一个包含信息的 cookie 并从 javascript 中读取它,或者为User
模型编写一个辅助方法并在你的布局中编写类似这样的内容:
<% if current_user.just_signed_in %>
<script type="text/javascript">
// Your sign in stats code here
</script>
<% end %>
<% if current_user.just_signed_up %>
<script type="text/javascript">
// Your sign up stats code here
</script>
<% end %>
按照这种方式,完整的模型将是:
class User < ActiveRecord::Base
after_create :register_hook
before_save :login_hook, :if => current_sign_in_at_changed?
attr_accessor :just_singed_up, :just_signed_in
def register_hook
@just_signed_up = true
end
def login_hook
@just_signed_in = true
end
end