質問・問題
(VideoSDKで)同チャンネル内でUIDが重複した場合、どのような動作になりますか?
回答・解決方法
agoraサーバに接続した際の状態により異なります。
- ケース1:同じUIDが同じエッジサーバ上に接続した場合は、前に入室していたセッションが自動的に追いだされ、後に入室したセッションが有効になります。
- ケース2:同じUIDが異なるエッジサーバ上に接続した場合は、前に入室していたセッションは追い出されず、両方のセッションが入室した状態になります。
※Web、Natvie SDK共に同じ動作になります。
※ケース1の場合、Web SDKはコンソール上にエラーメッセージが表示されますが、Native SDKは表示されません。ケース2の場合も表示されません。
回避方法としては以下の案をおすすめします。
[回避方法]
1.UIDを自動発行にする。(Join時に自動発行に設定することができます)
2.インテグレーション側でUIDの管理機能を作成し、入室前に重複チェック処理を実施する。
3.Server RESTful API (3.x、4.x)のOnline channel statistics queryを利用する。(入室中UIDを確認し、重複チェック処理を実施する)
(注1) 同時刻に同じUIDが入室した場合は正確に取得できない場合があります。
(注2) online channel statistics APIのクエリ数は20リクエスト/秒までです。