2017-07-17 5 views
0

私はプッシャーを使用してチャットアプリケーションを開発しています。自分のアカウントにユーザがログインを、彼は以下のようなチャネルに登録されるたびに今のところ:プッシャーを使用してオンラインユーザーを取得する方法

`var channel = pusher.subscribe('<?='myChannel'.$_SESSION['USERID']?>');` 

他のユーザーがいるかどうかを知ることを得ることができるように私は、オンライン/オフラインのためチャットリストでステータスを更新したいと思いますユーザーはオンラインかどうか。どうやってやるの?

答えて

0

通常、これにはpresence channelsを使用します。これらのチャンネルは、メンバーがチャンネルを購読/購読中止すると、他のすべての加入者にブロードキャストされる特別なイベントを有する。

ユーザーごとにチャンネルがあるようですので、既存のチャンネルをプレゼンスチャンネルに変換するだけでは機能しません。代わりに、すべてのユーザーが購読するユーザー単位のチャネルに加えて、特別なプレゼンスチャネルを持つことができます。ここでは、プレゼンスイベントにバインドしてメンバーリストを更新できます。

+0

はい、私は同じことをしました。私は としてプレゼンスチャネルを使用しました。 'var presenceChannel = pusher.subscribe( 'presence-myChannel'); var count = presenceChannel.members.count; これでカウントが0になりました。正確なカウントとオンライン/オフラインステータスを取得するにはどうすればよいですか? –

+0

カウントが早すぎる可能性があります。サブスクリプションが成功するまで待つべきです。これを行う方法の例がここにあります(https://pusher.com/docs/client_api_guide/client_presence_channels#example-1)。 –

関連する問題