From dashboards to gaming, collaborative editing and more, Channels helps you simplify your stack and quickly integrate the realtime features your users expect into any web or mobile application.
From dashboards to gaming, collaborative editing and more, Channels helps you simplify your stack and quickly integrate the realtime features your users expect into any web or mobile application.
$pusher->trigger('my-channel', 'my-event', [
'message' => 'hello world'
]);
$pusher->trigger('my-channel', 'my-event', [
'message' => 'hello world'
]);
pusher.trigger('my-channel', 'my-event', {
"message": "hello world"
});
pusher.trigger('my-channel', 'my-event', {
message: 'hello world'
})
pusher.Trigger('my-channel', 'my-event', new {
message = "hello world"
});
pusher.trigger("my-channel", "my-event", Collections.singletonMap("message", "hello world"));
pusher.trigger('my-channel', 'my-event', {
'message': 'hello world'
})
pusher.Trigger("my-channel", "my-event", map[string]string{
"message": "hello world",
})
var channel = pusher.subscribe('my-channel');
channel.bind('my-event', function(data) {
alert('Received my-event with message: ' + data.message);
});
var channel = pusher.subscribe('my-channel');
channel.bind('my-event', function(data) {
alert('Received my-event with message: ' + data.message);
});
Channel channel = pusher.subscribe("my-channel");
channel.bind("my-event", new SubscriptionEventListener() {
@Override
public void onEvent(String channel, String event, String data) {
System.put.println("Received event with data: " + data);
}
});
let channel = pusher.subscribe("my-channel")
channel.bind(eventName: "my-event", callback: { (optionalData: Any?) -> Void in
if let data = optionalData {
print("Received event with data: \(data)")
}
})
PusherChannel *channel = [pusher subscribeWithChannelName:@"my-channel"];
[channel bindWithEventName:@"my-event" callback:^void (NSDictionary *data) {
NSString *message = data[@"message"];
NSLog(@"message received: %@", message);
}];
Whether you have one connection or millions, ultra-low latency with automatic fallbacks means Channels works anywhere
We deliver billions of messages every month across browsers, mobile and IoT with our event-based API
Simple-to-use presence channels for user lists, collaboration, and more
Easily query application state, channel information, presence users and much more
Capture and respond to client events as they happen and use data to take user interaction to the next level
You can trust our encryption and authenticity features to help you stay secure. Pusher is GDPR and HIPAA compliant
Get started for free or grow your connections with our self serve plans
Integration is simple and super fast! Take a look at how Channels works…
“We deal with student data, which comes with serious privacy requirements. We wouldn’t be able to do what we do without Pusher.”
Nick Tyler
Director of Engineering, GoGuardian
“In our time working together, Pusher has been one of our most reliable technology partners in that we haven't experienced any issues or downtime. The service has been flawless, and their team is super knowledgeable and has been great to work with.”
Connor Thielmann
VP of Business Operations, ServiceTitan
“The developer experience for us was fantastic. When we’re working with Pusher not only do we have the trusted infrastructure partnership, we also have all of the documentation, the snippets, the client side library which has fallbacks and stuff. It makes life a lot easier.”
Jeremy Bowers
Director of Engineering, The Washington Post
“We struggled with a lot of our infrastructure to handle a sudden spike in load. We’ve had to engineer a lot of complexity there to solve that. We haven’t had to do that with Pusher.”
Peter Hamilton
Head of Technology, Remind