This is an simple, yet thorough, example of initializing PubNub, subscribing to a channel and publishing to that channel.
connect callback indicates that subscription to the channel was successful, so we call our pub function which performs a publish to the channel we just subscribed to.message callback where we are displaying the various attributes of the received message to our browser's Console.In a real world use case, you would update your web page UI to display the received message.
| Version | Release Date | 
|---|---|
| 3.15.x | 2016-04-01 | 
This example show how to subscribe, and once that is successful, publishing a message to that channel. It also demonstrates the full set of parameters that can be included in the subscribe 's message  callback function.
pubnub = PUBNUB({                          
    publish_key   : 'your_pub_key',
    subscribe_key : 'your_sub_key'
});
pubnub.subscribe({                                     
    channel : "channel-1",
    message : function (message, envelope, channelOrGroup, time, channel) {
        console.log(
        "Message Received." + "\n" +
        "Channel or Group: " + JSON.stringify(channelOrGroup) + "\n" +
        "Channel: " + JSON.stringify(channel) + "\n" +
        "Message: " + JSON.stringify(message) + "\n" +
        "Time: " + time + "\n" +
        "Raw Envelope: " + JSON.stringify(envelope)
    )},
    connect:    pub,
    disconnect: function(m) {console.log("DISCONNECT: " + m)},
    reconnect:  function(m) {console.log("RECONNECT: " + m)},
    error:      function(m) {console.log("ERROR: " + m)}
});
function pub() {
   pubnub.publish({                                    
        channel : "channel-1",
        message : {"msg": "I'm Puuumped!"},
        callback: function(m) {console.log("Publish SUCCESS: " + m)},
        error: function(m) {console.log("Publish ERROR: " + m)}
   })
};