訂閱時設定狀態

當使用者訂閱頻道時,你可能希望為該新訂閱的使用者設定狀態 。雖然存在訂閱狀態 API,但在某些情況下,這不是最佳/可靠的技術(例如在斷開連線/重新連線情況期間 - 狀態將丟失且未恢復)。

一旦成功訂閱了頻道,最好明確設定狀態。這意味著你使用 subscribeconnect 回撥來設定狀態。

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)}
});