3

Kissmetrics (分析アプリ) の JS API ドキュメントを見ていると、Kissmetrics にユーザーを知らせる「identify」メソッドが含まれています。彼らのドキュメントは次のように述べています。

次の 2 つのシナリオで識別を呼び出すことをお勧めします。

ユーザーがサインアップに成功したとき ユーザーが Cookie またはログイン ページを介して正常にログインしたとき

それを達成するための最良の方法は何ですか?ユーザーがサインアップまたはサインインしたばかりであることをどのように検出できますか?

4

1 に答える 1

8

問題を 2 つに分けましょう: 登録とログインです。

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_savecurrent_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
于 2011-11-24T01:27:27.083 に答える