Newer
Older
// 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();
// ...
});