// initialize Firebase var config = { apiKey: "AIzaSyDnQLFM5Hib9_5AZIapEIVO4NSFTnRYs5E", authDomain: "wbd3-fap.firebaseapp.com", databaseURL: "https://wbd3-fap.firebaseio.com", storageBucket: "wbd3-fap.appspot.com", messagingSenderId: "655114709739", }; firebase.initializeApp(config); const messaging = firebase.messaging(); messaging.requestPermission() .then(() => { console.log("Permission Granted"); }) .catch(function(err) { console.log('Unable to get permission to notify.', err); }); // Get Instance ID token. Initially this makes a network call, once retrieved // subsequent calls to getToken will return from cache. messaging.getToken() .then(function(currentToken) { if (currentToken) { var scope = angular.element(document.getElementsByTagName("body")).scope(); scope.sendTokenToServer(currentToken); scope.$apply(); // sendRegistrationToServer(currentToken); // updateUIForPushEnabled(currentToken); console.log(currentToken); } else { // Show permission request. console.log('No Instance ID token available. Request permission to generate one.'); // Show permission UI. // updateUIForPushPermissionRequired(); // setTokenSentToServer(false); } }) .catch(function(err) { console.log('An error occurred while retrieving token. ', err); // showToken('Error retrieving Instance ID token. ', err); // setTokenSentToServer(false); }); // Callback fired if Instance ID token is updated. messaging.onTokenRefresh(function() { messaging.getToken() .then(function(refreshedToken) { console.log('Token refreshed.'); console.log(refreshedToken); var scope = angular.element(document.getElementsByTagName("body")).scope(); scope.sendTokenToServer(currentToken); scope.$apply(); // Indicate that the new Instance ID token has not yet been sent to the // app server. // setTokenSentToServer(false); // Send Instance ID token to app server. // sendTokenToServer(refreshedToken); // ... }) .catch(function(err) { console.log('Unable to retrieve refreshed token ', err); // showToken('Unable to retrieve refreshed token ', err); }); }); messaging.onMessage(function(payload) { console.log("Message received. ", payload); angular.element(document.getElementsByClassName('chat-box')[0]).scope().insertMsg(payload); angular.element(document.getElementsByClassName('chat-box')[0]).scope().$apply(); // ... });