The PushPushGo Developer Hub

Welcome to the PushPushGo developer hub. You'll find comprehensive guides and documentation to help you start working with PushPushGo as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started



Cannot find the sw.js file on your website

The sw.js file (service worker) is missing on the root path of your server or there was placed an incorrect one (e.g. belonging to the other project)

sw.js file content is not correct

The sw.js file does not have the correct content or name. The correct one should be sw.js (if you wish to rename this file, please contact us on [email protected]). Also if the content was modified (e.g. the colon was removed) the application will display the validator.

sw.js file doesn’t have Content-Type: application/javascript

The sw.js file has the incorrect content, which should be application/javascript.
The content can be checked by entering the website source > network > sw.js > Response Headers

Script code is not pasted properly in your site source code, check code and integration again

The script is missing on the website or it was placed incorrectly, e.g. there was placed the script belonging to another project

Connection refused

The server refuses the connection with the application

For own domain support, you have to install the certificate on your server

To integrate with own domain, the SSL certificate on the user’s website is necessary.

Bind method is overwritten

Function.prototype.bind was overwritten. So it means that one of the native functionalities of the browser (that PushPushGo uses) was overwritten by the user. The solution is to:

a) remove the script that overwrites this browser functionality (if it’s possible)

b) containing the script below on the website:

  Function.prototype.bind = function(oThis) {
    if (typeof this !== 'function') {
      // closest thing possible to the ECMAScript 5
      // internal IsCallable function
      throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');

    var aArgs   = Array.prototype.slice.call(arguments, 1),
        fToBind = this,
        fNOP    = function() {},
        fBound  = function() {
          return fToBind.apply(this instanceof fNOP
                 ? this
                 : oThis,

    if (this.prototype) {
      // Function.prototype doesn't have a prototype property
      fNOP.prototype = this.prototype; 
    fBound.prototype = new fNOP();

    return fBound;
<script ppg...>

It is important to load this script before PushPushGo script is loading. In that case, remove the async parameter from the PushPushGo script and place it right before the </body> end.

XMLHttpRequest is overwritten

One of the native functionalities of the browser (that PushPushGo script uses) was overwritten on the user's end.

Updated 4 months ago


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.