UNPKG

@garbarino/gb-jscommons

Version:

A package of common functions used in our JavaScript applications.

52 lines (45 loc) 1.4 kB
import firebase from 'firebase'; const firebaseConfig = { apiKey: "AIzaSyCCOvoj8lRog-H5WE9b7ulGfsUx0AeAkY0", authDomain: "push-notifications-5768d.firebaseapp.com", databaseURL: "https://push-notifications-5768d.firebaseio.com", projectId: "push-notifications-5768d", storageBucket: "push-notifications-5768d.appspot.com", messagingSenderId: "829838709499", appId: "1:829838709499:web:1a69eebabb3dda03fe565e", measurementId: "G-HP8JP918W9" }; firebase.initializeApp(firebaseConfig); const messaging = firebase.messaging(); // Pedimos permiso export function canAskForPermission() { return Notification.requestPermission(); } // Capturo token export function getToken() { return messaging.getToken(); } export function getSubscription() { if ((('serviceWorker' in navigator) && ('PushManager' in window))) { return navigator.serviceWorker.getRegistration() .then(function(registration) { return registration.pushManager.getSubscription(); }) } else { return Promise.reject("Push notifications not compatible"); } } // Envio de token export function sendSubscriptionToBackEnd(subscription, platform) { return fetch('/normandia/services/push_tokens', { method: 'POST', headers: new Headers({ 'Content-Type': 'application/json' }), body: JSON.stringify({ "subscription": subscription, "platform": platform || "" }), credentials: "same-origin" }); }