3
我正在查看Kissmetrics(分析應用程序)JS API文檔,並且他們有一個「標識」方法,可讓您告訴Kissmetrics有關用戶的信息。這裏是他們的文件說什麼:在用戶註冊時執行JS代碼/使用Rails + Devise登錄
我們建議你打電話確定在兩種情況下:
當用戶成功簽約 當用戶成功登錄,無論是通過cookie或者通過登錄頁面
實現該目標的最佳方法是什麼?如何檢測用戶剛剛註冊或登錄?
我正在查看Kissmetrics(分析應用程序)JS API文檔,並且他們有一個「標識」方法,可讓您告訴Kissmetrics有關用戶的信息。這裏是他們的文件說什麼:在用戶註冊時執行JS代碼/使用Rails + Devise登錄
我們建議你打電話確定在兩種情況下:
當用戶成功簽約 當用戶成功登錄,無論是通過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
這是有道理的,非常感謝! – Sacha
這不起作用(我只是試圖使用註冊部分)。你碰巧知道如何讓它在當前版本中工作? – Brandon
屬性@just_signed_in不存儲在數據庫中。如果用戶在註冊後重定向,那麼這個變量不會被設置。 –