订阅时设置状态
当用户订阅频道时,你可能希望为该新订阅的用户设置状态 。虽然存在订阅状态 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', // use the channel param from the subscribe
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)}
});