客户端在线状态 > 监听客户端上下线状态变化
本特性为高级功能,默认不开通,付费应用,可以在我的应用->查看详情,高级功能里自助开通。
实时监听客户端上下线状态变化,获取在线客户端列表。
资费:
要监听一个的客户端在线状态,必须为该客户端指定userId,否则无法获取客户端在线状态。
var goEasy = GoEasy.getInstance({
host:'hangzhou.goeasy.io',//应用所在的区域地址: 【hangzhou.goeasy.io |singapore.goeasy.io】
appkey: '您的appkey'
});
goEasy.connect({
userId: "用户唯一标识,如 user-001", //必须指定,否则无法实现客户端上下线监听功能
userData: "用户的附加信息,比如性别,年龄",//更多的用户信息,其它已监听上下线信息的用户,收到该用户上线信息里会包含此部分内容
onSuccess: function () { //连接成功
console.log("GoEasy connect successfully.") //连接成功
},
onFailed: function (error) { //连接失败
console.log("Failed to connect GoEasy, code:"+error.code+ ",error:"+error.content);
},
onProgress:function(attempts) { //连接或自动重连中
console.log("GoEasy is connecting", attempts);
}
});
客户端上下线有四种actions:
online: 上线,客户端已经订阅了channel,因为网络的原因,断网重连
offline: 下线或断网,客户端已经订阅了 channel,手动关闭或网络断开
join: 订阅 channel, 客户端第一次订阅channel
leave: 取消 channel 的订阅,客户端主动取消某个 channel 的订阅
goEasy.subscribePresence({
channel: "my_channel",
onPresence: function(presenceEvents){
console.log("Presence events: ", JSON.stringify(presenceEvents));
}
});
初始化客户端在线状态(必读)
监听客户端上下线状态变化
取消监听客户端上下线
客户端获取当前在线客户端列表
服务器端通过Rest API获取在线客户端列表
服务端通过webhook接收客户端状态变化