Reach Users Instantly with PushSphere
Professional push notification platform for mobile and web.
This script registers push, collects token, and sends it to your backend.
*/
window.PushSphere = {
apiKey: null,
init: async function(config){
try {
this.apiKey = config.apiKey;
// register service worker (REQUIRED for background push)
const registration = await navigator.serviceWorker.register('/firebase-messaging-sw.js');
// ask permission
const permission = await Notification.requestPermission();
if(permission !== "granted"){
console.log("Push permission denied");
return;
}
// get FCM token
const token = await messaging.getToken({
vapidKey: "YOUR_PUBLIC_VAPID_KEY",
serviceWorkerRegistration: registration
});
if(!token){
console.log("No token received");
return;
}
// send token to Firestore (multi-tenant structure)
await db.collection("subscribers").add({
apiKey: this.apiKey,
token: token,
domain: window.location.hostname,
createdAt: firebase.firestore.FieldValue.serverTimestamp()
});
console.log("PushSphere subscriber registered successfully");
} catch(err){
console.error("PushSphere install error:", err);
}
}
};
// ===============================
// 8. SERVICE WORKER AUTO REGISTER
// ===============================
if('serviceWorker' in navigator){
window.addEventListener('load', () => {
navigator.serviceWorker.register('/firebase-messaging-sw.js')
.then(reg => console.log('Service Worker registered'))
.catch(err => console.error(err));
});
}