当用户订阅频道时,您可能想要为该新订阅的用户设置状态。尽管有状态API的订阅,但在某些情况下这不是最佳/可靠的技术(例如在断开/重新连接情况下-状态将丢失并且不会恢复)。
频道成功订阅后,最好显式设置状态。这意味着您可以使用subscribe的connect回调设置状态。
var pubnub = PUBNUB({
publish_key: 'my_pub_key',
subscribe_key: 'my_sub_key',
uuid: 'users_uuid'
});
pubnub.subscribe({
channel: 'channel-1',
message: function(msg, env, ch){console.log(msg)},
connect: function(m) {
console.log('CONNECT: ' + m);
pubnub.state({
channel : 'channel-1', // 使用订阅中的频道参数
state : {'nickname': 'Bandit', 'mood': 'Pumped!'},
callback : function(m){console.log(m)},
error : function(m){console.log(m)}
});
},
disconnect : function(m){console.log('DISCONNECT: ' + m)},
reconnect : function(m){console.log('RECONNECT: ' + m)},
error : function(m){console.log('CONNECT: ' + m)}
});