web-dev-qa-db-ja.com

現在サイトを使用している匿名ユーザーの数を数える方法は?

モジュールを使用するか、現在サイトを使用している匿名ユーザーの数をカウントできるモジュールを作成したい。

これを達成するための最良の方法は何ですか?統計モジュールを見ましたが、これではデータをカウントできません。私は、ビューがこの設定「コンテンツ統計:最新のビュー」でこれが可能であることを発見しました。ただし、匿名データのオプションはありませんでした。

6
Alexander

admin_men モジュールがこれを行い、これを提供します function

/**
 * Counts how many users are active on the site.
 *
 * Counts how many users have sessions which have been active since the
 * specified time. Can count either anonymous sessions or authenticated
 * sessions.
 *
 * @param $timestamp
 *   A Unix timestamp. Users who have been active since this time will be
 *   counted. The default is 0, which counts all existing sessions.
 * @param $anonymous
 *   TRUE counts only anonymous users. FALSE counts only authenticated users.
 *
 * @return
 *   The number of users with sessions.
 *
 * @todo There are mostly no anonymous sessions anymore. Split this into a
 *   separate module providing proper user statistics.
 */
function admin_menu_session_count($timestamp = 0, $anonymous = TRUE) {
  $query = db_select('sessions');
  $query->addExpression('COUNT(sid)', 'count');
  $query->condition('timestamp', $timestamp, '>=');
  $query->condition('uid', 0, $anonymous ? '=' : '>');
  return $query->execute()->fetchField();
}

次のように、過去(デフォルト)15分間アクティブであったユーザーの数を返します。

    function admin_menu_get_user_count() {
      $interval   = REQUEST_TIME - variable_get('user_block_seconds_online', 900);
      $count_anon = admin_menu_session_count($interval, TRUE);
      $count_auth = admin_menu_session_count($interval, FALSE);

      return t('@count-anon / @count-auth', array('@count-anon' => $count_anon, '@count-auth' => $count_auth));
}
8
Jimajamma

あなたが知りたいことによっては、Googleアナリティクスモジュールが役立ちます。ユニークユーザーの数をカウントします。これは、多くの登録ユーザーが必要ない場合にのみ役立ちます。

3
BetaRide

Webサイトの訪問者に関連する情報については、代わりに visitors モジュールを検討してください。
そこから得られるものの1つは、Visitors Blockです。これには、特に、以下に関するデータが含まれます。

  • 総訪問者。
  • ユニークな訪問者。
  • 登録ユーザー。
  • ...

これらの3つの数値を組み合わせることは、一意の未登録(匿名)ユーザーの数を「計算」するための可能な推定です。

このモジュールには、いくつかのレポートとグラフも含まれています(一般的な関連要件...)。

community doc または project page には、さらに詳細が含まれています。ただし、そのドキュメントページを完了するには、まだかなりの作業が必要です。何らかの方法でまだ含める必要があるさまざまなトピックについては、 issue#2432369 を参照してください。この問題の子の問題には、既存の問題に含まれるドキュメントへのポインタがすでに含まれています。独自の環境でモジュールをテストすることは、モジュールの機能が実際に何であるかを見つけるための可能なアプローチです。

開示:私はこのモジュールの new メンテナーです、
これがサイトの 自己宣伝に関するポリシー に違反しないことを願っています。

1
Pierre.Vriens