订阅时设置状态

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