質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

サービス

サービスとはバックグラウンド上に常駐し、長時間稼動し続ける実行可能ファイルを指します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1562閲覧

サイトに現在の接続数を表示させたい

y0shida

総合スコア15

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

サービス

サービスとはバックグラウンド上に常駐し、長時間稼動し続ける実行可能ファイルを指します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2020/06/24 19:47

前提

ド素人です。
WEBサービスを作ろうと思いWEB知識なしで調べながら作っているのですが、用語がわからない為今わかる知識で検索してもうまくヒットしませんでした。

実現したいこと

サイトページに今現在接続しているユーザーの数を表示させたいです。
例: あなたの他に○○人接続しています。

補足情報

多分サーバー側から情報を持ってくるのかな?と思っているのですが、まだHTMLで最初のページを作っている段階です。
構想的に最初に作ると楽かなと考えています。

WEBサイト、サービスを作るのは初めてなので最初はHTML、CSSでページ作ってからサーバーサイドやったほうが楽とかあれば教えてもらえると助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/06/24 20:22

楽とか何もないと思いますけど、「何を元に接続中であると判断するか」が決まらないと手法も何もありません。これは「決め」の問題なので作る人が要件をまとめて確定しなければなりません。
y0shida

2020/06/24 20:33

「何を元に接続中であると判断するか」といのは ユーザーがページを表示させている や 何かしらのデバイスでサイトにアクセスしている的な意味合いですか?
退会済みユーザー

退会済みユーザー

2020/06/24 21:42 編集

質問者さんの言う「接続中」が「ページを表示させている」であれば、それをサーバー側で知ることはできません。要求があったこと、その時間はログで分かるかもしれませんが、ユーザーがまだ見ているかどうかはサーバーは知り得ないからです。 「デバイス」というのが何だか分かりませんが、やはりサーバー側では今ユーザーが何をしているかは知り得ないでしょうから、同じことかと思いますが。
m.ts10806

2020/06/24 22:41

ですから、作る人が決めてください。
guest

回答2

0

ベストアンサー

試したことはないのですが、GoogleアナリティクスAPIを使うのはどうでしょうか?
おそらく、それなりのスキルが必要です。

いままさに訪問中のアクティブユーザや、いままさに多くのユーザが訪れているページの上位10件などをとれて、リアルタムデータを表示する

Google Analytics Real Time Reporting API 事始め - Qiita

 

Real Time Reporting API では、認証されたユーザーのリアルタイム データ (プロパティのリアルタイム アクティビティなど)をリクエストすることが できます。

概要  |  アナリティクス Real Time Reporting API  |  Google Developers

 

GET https://www.googleapis.com/analytics/v3/data/realtime

リアルタイム データ: get  |  アナリティクス Real Time Reporting API  |  Google Developers

 

指標

rt:activeUsers

現在プロパティを利用中のユーザー数です。
ユーザー - ディメンションと指標のリファレンス  |  アナリティクス Real Time Reporting API

投稿2020/06/25 01:11

Lhankor_Mhy

総合スコア36960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi_takatsuk

2020/06/25 01:38

やはり、GAでなにかしろのAPIありましたか。 やはりGoogle様には頭上がりませんね・・・(怖くて)
y0shida

2020/06/25 07:52

これ調べながら使ってみようと思います ありがとうございます
guest

0

閲覧ユーザー監視を自作するなら、下記のような流れになるかと思います。

  1. サーバーをWebSocket対応にする
  2. JSでアクセス開始と離脱を監視、行動を起こすたびに(ページ遷移、離脱)WebSocketにて、サーバーにプッシュで知らせる&情報を送信する
  3. サーバー側でなんらかの方法でモニタリングする。(監視用のページを用意とか、アプリに通知とか、DBに情報保存とか)
  4. 閲覧数表示したいなら、そのWebSocketからの通知などを使って、情報表示する

懸念点、実装においてのとなることは下記です。

  • プライバシーポリシー問題

ユーザーの情報を取得する関係上、プライバシーポリシーを記載する必要があるかもしれません
(完全個人特定にならないかもなので、詳しくは法律を調べる必要あり)

  • セキュリティ問題

スクリプトを使う上での、自身のサーバーにおいても、ユーザーに対しても、セキュリティはしっかり配慮しないといけないと思います。
特にDBに情報を登録する場合は、自身のサーバーにおいても、ユーザーの情報を漏洩させないためにも、セキュリティはしっかりする必要があります。

  • サーバー負担が大きい

GoogleがGAなどでなぜそもそもやれているか、というと、
サーバーがとんでもなく強いからです。
一般のレンタルサーバーだと、アクセス少ないうちはよくとも、
アクセス増えると、無理かもしれません。

  • そもそもできないかも

上記も含め、サーバーの状況も加味し、そもそも技術的にも不可能かもしれません。

ただ、自作なんてしないで、
Lhankor_Mhyさんの回答通り、偉大なGoogle様のAPIがあるならそれを使うが吉かと。
実装においても、まだ楽になります
(使ってもけっこう大変だと思うって話)
もし、自作するってなっても、少なくとも私自身はやり方調べる気にもなりません。(それくらい大変と予想される)

投稿2020/06/25 02:32

miyabi_takatsuk

総合スコア9555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問