JavaScript Quick Start Guide

Getting started with Pusher is very easy. However, if you have any questions get in touch.

This guide uses the JavaScript client API and a selection of Server API libraries. We also have a guide for our iOS client.

Get your free API keys

Create an account, and make a note of your app_id, app_key and app_secret.

Include the Pusher Client library

Open a connection to Pusher

You first need to establish a connection to Pusher. This is done by using your application key (app_key).

var pusher = new Pusher('YOUR_APP_KEY');

Subscribe to a Channel

Now you should subscribe to your first channel.

Note: more info on choosing channel names is available here.

var channel = pusher.subscribe('my-channel');

Listen for events on your channel

Now you can define callbacks that bind to events on a channel, coming in via the connection to Pusher:

channel.bind('my-event', function(data) {
  alert('An event was triggered with message: ' + data.message);
});

Trigger events from your server

In the examples below we trigger an event named my-event to Pusher on a channel called my-channel. For each example below a server library deals with the server communication. If there isn’t an example in a language that you are familiar with then have a look on our server libraries page to see if anyone has created one in your language.

require 'pusher'

Pusher.app_id = 'APP_ID'
Pusher.key = 'APP_KEY'
Pusher.secret = 'APP_SECRET'    

class HelloWorldController < ApplicationController
  def hello_world
    Pusher.trigger('my-channel', 'my-event', {:message => 'hello world'})
  end
end
require 'pusher'

Pusher.app_id = 'APP_ID'
Pusher.key = 'APP_KEY'
Pusher.secret = 'APP_SECRET'

Pusher.trigger('my-channel', 'my-event', {:message => 'hello world'})
require('Pusher.php');

$pusher = new Pusher($key, $secret, $app_id);
$pusher->trigger('my-channel', 'my-event', array('message' => 'hello world') );
var Pusher = require('pusher');

var pusher = new Pusher({
  appId: 'APP_ID',
  key: 'APP_KEY',
  secret: 'APP_SECRET'
});

pusher.trigger('my-channel', 'my-event', {"message": "hello world"});
using PusherServer;
using System.Web.Mvc;
using System.Net;
using Your.Config;

public class HelloWorldController : Controller {
  [HttpPost]
  public ActionResult HelloWorld() {
    var pusher = new Pusher(Config.AppId, Config.AppKey, Config.AppSecret);
    var result = pusher.Trigger('my-channel', 'my-event', new { message = "hello world" } );
    return new HttpStatusCodeResult((int)HttpStatusCode.OK);
  }
}  
import pusher

p = pusher.Pusher(app_id='APP_ID', key='APP_KEY', secret='APP_SECRET')
p['my-channel'].trigger('my-event',{'message': 'hello world'})

Where next?

Find out about all the cool stuff you can do with channels, Investigate the JavaScript client library or learn how to excluding event recipients when publishing events.

Have you tried using the search to find what you’re after? If you still have a question then get in touch with us and let us help you out.