訂閱時設定狀態
當使用者訂閱頻道時,你可能希望為該新訂閱的使用者設定狀態 。雖然存在訂閱狀態 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)}
});