pusher.com Open in urlscan Pro
34.201.136.193  Public Scan

Submitted URL: http://pusher.com/
Effective URL: https://pusher.com/
Submission: On November 09 via manual from SG — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

By using the Pusher site, you agree with our use of cookies. Read our Cookie
Policy.

Allow all cookiesWant to know more?


THIS WEBSITE USES COOKIES

We use cookies to personalise content and ads, to provide social media features
and to analyse our traffic. We also share information about your use of our site
with our social media, advertising and analytics partners who may combine it
with other information that you’ve provided to them or that they’ve collected
from your use of their services. You consent to our cookies if you continue to
use our website.
Allow all cookiesCancel
▼ Advanced cookie choices


NECESSARY COOKIES



Necessary cookies help make a website usable by enabling basic functions like
page navigation and access to secure areas of the website. The website cannot
function properly without these cookies.

Show cookies

NameProviderPurposeExpiryTyperc::aGoogleThis cookie is used to distinguish
between humans and bots. This is beneficial for the website, in order to make
valid reports on the use of their website.PersistentHTMLrc::bGoogleThis cookie
is used to distinguish between humans and bots. SessionHTML__cf_bmHubspotThis
cookie is used to distinguish between humans and bots. This is beneficial for
the website, in order to make valid reports on the use of their website.1
dayHTTPCookieConsentCookiebotStores the user's cookie consent state for the
current domain1 yearHTTPCONSENTYouTubeUsed to detect if the visitor has accepted
the marketing category in the cookie banner. This cookie is necessary for
GDPR-compliance of the website. 2 yearsHTTP


PREFERENCES COOKIES



Preference cookies enable a website to remember information that changes the way
the website behaves or looks, like your preferred language or the region that
you are in.

Show cookies

NameProviderPurposeExpiryTypelocaleDropboxThe cookie determines the preferred
language and country-setting of the visitor - This allows the website to show
content most relevant to that region and language.5
yearsHTTP@@scroll#pusher.comPendingSessionHTML


STATISTICS COOKIES



Statistic cookies help website owners to understand how visitors interact with
websites by collecting and reporting information anonymously.

Show cookies

NameProviderPurposeExpiryType__Host-ssDropboxUsed to implement or transfer
content through Dropbox. 3 yearsHTTP__hsscjs.hs-banner.comIdentifies if the
cookie data needs to be updated in the visitor's browser.1
dayHTTP__hssrcjs.hs-banner.comUsed to recognise the visitor's browser upon
reentry on the website.SessionHTTP__hstcjs.hs-banner.comSets a unique ID for the
session. This allows the website to obtain data on visitor behaviour for
statistical purposes.1 yearHTTP_gaGoogleRegisters a unique ID that is used to
generate statistical data on how the visitor uses the website.2
yearsHTTP_ga_#Google Tag ManagerUsed by Google Analytics to collect data on the
number of times a user has visited the website as well as dates for the first
and most recent visit. 2 yearsHTTP_gatGoogleUsed by Google Analytics to throttle
request rate1 dayHTTP_gidGoogleRegisters a unique ID that is used to generate
statistical data on how the visitor uses the website.1
dayHTTP_hjAbsoluteSessionInProgressHotjarThis cookie is used to count how many
times a website has been visited by different visitors - this is done by
assigning the visitor an ID, so the visitor does not get registered twice.1
dayHTTP_hjFirstSeenHotjarThis cookie is used to determine if the visitor has
visited the website before, or if it is a new visitor on the website.1
dayHTTP_hjidHotjarSets a unique ID for the session. This allows the website to
obtain data on visitor behaviour for statistical purposes.1
yearHTML_hjIncludedInPageviewSampleHotjarDetermines if the user's navigation
should be registered in a certain statistical place holder.1
dayHTTP_hjIncludedInSessionSampleHotjarRegisters data on visitors'
website-behaviour. This is used for internal analysis and website optimization.
1 dayHTTP_hjRecordingLastActivitypusher.comSets a unique ID for the session.
This allows the website to obtain data on visitor behaviour for statistical
purposes.SessionHTMLajs_anonymous_idSegmentThis cookie is used to count how many
times a website has been visited by different visitors - this is done by
assigning the visitor an ID, so the visitor does not get registered twice.1
yearHTMLhjViewportIdpusher.comSets a unique ID for the session. This allows the
website to obtain data on visitor behaviour for statistical
purposes.SessionHTMLhubspotutkjs.hs-banner.comSets a unique ID for the session.
This allows the website to obtain data on visitor behaviour for statistical
purposes.1 yearHTTP


MARKETING COOKIES



Marketing cookies are used to track visitors across websites. The intention is
to display ads that are relevant and engaging for the individual user and
thereby more valuable for publishers and third party advertisers.

Show cookies

NameProviderPurposeExpiryTypeIDEGoogleUsed by Google DoubleClick to register and
report the website user's actions after viewing or clicking one of the
advertiser's ads with the purpose of measuring the efficacy of an ad and to
present targeted ads to the user.1 yearHTTPpagead/landing [x2]GoogleCollects
data on visitor behaviour from multiple websites, in order to present more
relevant advertisement - This also allows the website to limit the number of
times that they are shown the same advertisement.
SessionPixeltest_cookieGoogleUsed to check if the user's browser supports
cookies.1 dayHTTP__Host-js_csrfDropboxUsed to implement or transfer content
through Dropbox. 3 yearsHTTPgvcDropboxUsed to implement or transfer content
through Dropbox. 5 yearsHTTPtDropboxStores data on which websites the user has
visited.3 yearsHTTPrc::cGoogleUsed in context with video-advertisement. The
cookie limits the number of times a visitor is shown the same
advertisement-content. The cookie is also used to ensure relevance of the
video-advertisement to the specific visitor. SessionHTMLtrFacebookUsed by
Facebook to deliver a series of advertisement products such as real time bidding
from third party advertisers.SessionPixel_GRECAPTCHAGoogleThis cookie is used to
distinguish between humans and bots. This is beneficial for the website, in
order to make valid reports on the use of their website.179
daysHTTPpagead/1p-user-list/#GoogleTracks if the user has shown interest in
specific products or events across multiple websites and detects how the user
navigates between sites. This is used for measurement of advertisement efforts
and facilitates payment of referral-fees between
websites.SessionPixel__ptq.gifHubspotSends data to the marketing platform
Hubspot about the visitor's device and behaviour. Tracks the visitor across
devices and marketing channels.SessionPixel__tld__SegmentUsed to track visitors
on multiple websites, in order to present relevant advertisement based on the
visitor's preferences. SessionHTTP_fbpFacebookUsed by Facebook to deliver a
series of advertisement products such as real time bidding from third party
advertisers.3 monthsHTTP_gcl_auGoogle Tag ManagerUsed by Google AdSense for
experimenting with advertisement efficiency across websites using their
services. 3 monthsHTTP_hjRecordingEnabledpusher.comThis cookie is used to
identify the visitor and optimize ad-relevance by collecting visitor data from
multiple websites – this exchange of visitor data is normally provided by a
third-party data-center or ad-exchange.SessionHTMLajs_user_idSegmentCollects
data on visitors' preferences and behaviour on the website - This information is
used make content and advertisement more relevant to the specific visitor.
PersistentHTMLVISITOR_INFO1_LIVEYouTubeTries to estimate the users' bandwidth on
pages with integrated YouTube videos.179 daysHTTPYSCYouTubeRegisters a unique ID
to keep statistics of what videos from YouTube the user has
seen.SessionHTTPyt.innertube::nextIdYouTubeRegisters a unique ID to keep
statistics of what videos from YouTube the user has
seen.PersistentHTMLyt.innertube::requestsYouTubeRegisters a unique ID to keep
statistics of what videos from YouTube the user has
seen.PersistentHTMLyt-remote-cast-availableYouTubeStores the user's video player
preferences using embedded YouTube
videoSessionHTMLyt-remote-cast-installedYouTubeStores the user's video player
preferences using embedded YouTube
videoSessionHTMLyt-remote-connected-devicesYouTubeStores the user's video player
preferences using embedded YouTube
videoPersistentHTMLyt-remote-device-idYouTubeStores the user's video player
preferences using embedded YouTube
videoPersistentHTMLyt-remote-fast-check-periodYouTubeStores the user's video
player preferences using embedded YouTube
videoSessionHTMLyt-remote-session-appYouTubeStores the user's video player
preferences using embedded YouTube
videoSessionHTMLyt-remote-session-nameYouTubeStores the user's video player
preferences using embedded YouTube
videoSessionHTMLpagead/viewthroughconversion/955504922GooglePendingSessionPixelpagead/1p-conversion/#GooglePendingSessionPixel


UNCLASSIFIED COOKIES

Unclassified cookies are cookies that we are in the process of classifying,
together with the providers of individual cookies.

Show cookies

NameProviderPurposeExpiryTypecampaign_metapusher.comPendingPersistentHTML

Allow selected cookiesCancel
▲ Simple cookie choices
This app works best with JavaScript enabled.
 * Products
   
   Build scalable realtime features
   
   Programmatic push notifications

 * Developers
   
   DOCS
   
   Read the docs to learn how to use our products
   
   TUTORIALS
   
   Explore our tutorials to build apps with Pusher products
   
   SUPPORT
   
   Reach out to our support team for help and advice

 * Customer stories
 * Blog
 * Pricing
   
   Build scalable realtime features
   
   Programmatic push notifications

 * Sign in
 * Sign up









POWERING REALTIME EXPERIENCES FOR MOBILE AND WEB

Bi-directional hosted APIs that are flexible, scalable and easy to use. We
create and maintain complex infrastructure so you can build the realtime
features your users need, fast.

Bi-directional hosted APIs that are flexible, scalable and easy to use.

Get started today and find out what you can build with Pusher

Use CasesGet your free account
PubsubNotifications


PUBLISH

PHPNodeRubyASPJavaPythonGo

pusher->trigger('my-channel', 'my-event', [


  'message' => 'hello world'


]);

PHPNodeRubyASPJavaPythonGo

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",


})


SUBSCRIBE

JSAndroidiOS (Swift)iOS (Obj-C)

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


channel.bind('my-event', function(data) {


  alert('Received my-event with message: ' + data.message);


});

JSAndroidiOS (Swift)iOS (Obj-C)

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


}];

Learn more


PUBLISH API

Node.JSGoPythonJavaKotlinRuby

const beamsClient = new PushNotifications({


  instanceId: 'YOUR_INSTANCE_ID_HERE',


  secretKey: 'YOUR_SECRET_KEY_HERE'


});




beamsClient.publishToInterests(['hello'], {


  apns: {


    aps: {


      alert: 'Hello!'


    }


  },


  fcm: {


    notification: {


      title: 'Hello',


      body: 'Hello, world!'


    }


  }


}).then((publishResponse) => {


  console.log('Just published:', publishResponse.publishId);


}).catch((error) => {


  console.error('Error:', error);


});

Node.JSGoPythonJavaKotlinRuby

const beamsClient = new PushNotifications({


  instanceId: 'YOUR_INSTANCE_ID_HERE',


  secretKey: 'YOUR_SECRET_KEY_HERE'


});




beamsClient.publishToInterests(['hello'], {


  apns: {


    aps: {


      alert: 'Hello!'


    }


  },


  fcm: {


    notification: {


      title: 'Hello',


      body: 'Hello, world!'


    }


  }


}).then((publishResponse) => {


  console.log('Just published:', publishResponse.publishId);


}).catch((error) => {


  console.error('Error:', error);


});

const (


  instanceId = "YOUR_INSTANCE_ID_HERE"


  secretKey  = "YOUR_SECRET_KEY_HERE"


)




beamsClient := pushnotifications.New(instanceId, secretKey)




publishRequest := map[string]interface{}{


  "apns": map[string]interface{}{


    "aps": map[string]interface{}{


      "alert": map[string]interface{}{


        "title": "Hello",


        "body":  "Hello, world",


      },


    },


  },


  "fcm": map[string]interface{}{


    "notification": map[string]interface{}{


      "title": "Hello",


      "body":  "Hello, world",


    },


  },


}




pubId, err := beamsClient.PublishToInterests([]string{"hello"}, publishRequest)


if err != nil {


  fmt.Println(err)


} else {


  fmt.Println("Publish Id:", pubId)


}

beams_client = PushNotifications(


  instance_id='YOUR_INSTANCE_ID_HERE',


  secret_key='YOUR_SECRET_KEY_HERE',


)




response = beams_client.publish_to_interests(


  interests=['hello'],


  publish_body={


    'apns': {


      'aps': {


        'alert': 'Hello!',


      },


    },


    'fcm': {


      'notification': {


        'title': 'Hello',


        'body': 'Hello, world!',


      },


    },


  },


)




print(response['publishId'])

String instanceId = "YOUR_INSTANCE_ID_HERE";


String secretKey = "YOUR_SECRET_KEY_HERE";




PushNotifications beamsClient = new PushNotifications(instanceId, secretKey);




List<String> interests = Arrays.asList("donuts", "pizza");




Map<String, Map> publishRequest = new HashMap();




Map<String, String> alert = new HashMap();


alert.put("alert", "hi");


Map<String, Map> aps = new HashMap();


aps.put("aps", alert);


publishRequest.put("apns", aps);




Map<String, String> fcmNotification = new HashMap();


fcmNotification.put("title", "hello");


fcmNotification.put("body", "Hello world");


Map<String, Map> fcm = new HashMap();


fcm.put("notification", fcmNotification);


publishRequest.put("fcm", fcm);




beamsClient.publishToInterests(interests, publishRequest);

val instanceId = "YOUR_INSTANCE_ID_HERE"


val secretKey = "YOUR_SECRET_KEY_HERE"




val beamsClient = PushNotifications(instanceId, secretKey)




val interests = listOf("donuts", "pizza")


val publishRequest = hashMapOf(


  "apns" to hashMapOf("aps" to hashMapOf("alert" to "hi")),


  "fcm" to hashMapOf("notification" to hashMapOf("title" to "hello", "body" to "Hello world"))


)




beamsClient.publishToInterests(interests, publishRequest)

Pusher::PushNotifications.configure do |config|


  config.instance_id = 'YOUR_INSTANCE_ID_HERE'


  config.secret_key = 'YOUR_SECRET_KEY_HERE'


end




data = {


  apns: {


    aps: {


      alert: {


        title: 'Hello',


        body: 'Hello, world!'


      }


    }


  },


  fcm: {


    notification: {


      title: 'Hello',


      body: 'Hello, world!'


    }


  }


}




Pusher::PushNotifications.publishToInterests(interests: ['hello'], payload: data)

Learn more


TRUSTED BY GIANTS. LOVED BY STARTUPS.




WHAT CAN YOU BUILD WITH PUSHER?

REALTIME CHARTS

From dashboards to stock charts, update data instantly

Read more

NOTIFICATIONS

Critical transactional information, delivered every time

Read more

LOCATION TRACKING

From food delivery to order status, realtime updates at scale

Read more

IN APP CHAT

Bring delightful conversational experiences to all your users

Read more
Explore Channels use casesExplore Beams use cases

> “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




WE HAVE EVERYTHING YOU NEED TO GET YOU SET UP


DOCS

Full reference of our APIs

Learn more


TUTORIALS

Tutorials to help you get started

Learn more


40+ SDKS

Bring our APIs to any tech stack

Learn more


START BUILDING WITH PUSHER

Sign up for freeContact sales


PUSHER IS A MEMBER OF THE MESSAGEBIRD TEAM

As of November 2020, we have become part of MessageBird. With the weight of the
world's largest omnichannel communications platform behind us, the Pusher team
remains focused on building developer-led features at scale.

Find out more



PRODUCTS

 * Channels
 * Beams


DEVELOPERS

 * Docs
 * Tutorials
 * Status
 * Support
 * Sessions


COMPANY

 * Making Pusher
 * Contact Sales
 * Customer stories
 * Terms & Conditions
 * Security
 * Careers Hiring
 * Blog

 * 
 * 
 * 
 * 
 * 

© 2021 Pusher Ltd. All rights reserved.
Pusher Limited is a company registered in England and Wales (No. 07489873) whose
registered office is at Eighth Floor 6 New Street Square, New Fetter Lane,
London, England, EC4A 3AQ.