|
| 1 | +import firebase from "firebase/app"; |
| 2 | +import "firebase/messaging"; |
| 3 | + |
| 4 | +function getMessagingObject() { |
| 5 | + // [START messaging_get_messaging_object] |
| 6 | + const messaging = firebase.messaging(); |
| 7 | + // [END messaging_get_messaging_object] |
| 8 | +} |
| 9 | + |
| 10 | +function receiveMessage() { |
| 11 | + const messaging = firebase.messaging(); |
| 12 | + // [START messaging_receive_message] |
| 13 | + // Handle incoming messages. Called when: |
| 14 | + // - a message is received while the app has focus |
| 15 | + // - the user clicks on an app notification created by a service worker |
| 16 | + // `messaging.onBackgroundMessage` handler. |
| 17 | + messaging.onMessage((payload) => { |
| 18 | + console.log('Message received. ', payload); |
| 19 | + // ... |
| 20 | + }); |
| 21 | + // [END messaging_receive_message] |
| 22 | +} |
| 23 | + |
| 24 | +function getToken() { |
| 25 | + const messaging = firebase.messaging(); |
| 26 | + // [START messaging_get_token] |
| 27 | + // Get registration token. Initially this makes a network call, once retrieved |
| 28 | + // subsequent calls to getToken will return from cache. |
| 29 | + messaging.getToken({ vapidKey: '<YOUR_PUBLIC_VAPID_KEY_HERE>' }).then((currentToken) => { |
| 30 | + if (currentToken) { |
| 31 | + // Send the token to your server and update the UI if necessary |
| 32 | + // ... |
| 33 | + } else { |
| 34 | + // Show permission request UI |
| 35 | + console.log('No registration token available. Request permission to generate one.'); |
| 36 | + // ... |
| 37 | + } |
| 38 | + }).catch((err) => { |
| 39 | + console.log('An error occurred while retrieving token. ', err); |
| 40 | + // ... |
| 41 | + }); |
| 42 | + // [END messaging_get_token] |
| 43 | +} |
| 44 | + |
| 45 | +function requestPermission() { |
| 46 | + // [START messaging_request_permission] |
| 47 | + Notification.requestPermission().then((permission) => { |
| 48 | + if (permission === 'granted') { |
| 49 | + console.log('Notification permission granted.'); |
| 50 | + // TODO(developer): Retrieve a registration token for use with FCM. |
| 51 | + // ... |
| 52 | + } else { |
| 53 | + console.log('Unable to get permission to notify.'); |
| 54 | + } |
| 55 | + }); |
| 56 | + // [END messaging_request_permission] |
| 57 | +} |
| 58 | + |
| 59 | +function deleteToken() { |
| 60 | + const messaging = firebase.messaging(); |
| 61 | + |
| 62 | + // [START messaging_delete_token] |
| 63 | + messaging.deleteToken().then(() => { |
| 64 | + console.log('Token deleted.'); |
| 65 | + // ... |
| 66 | + }).catch((err) => { |
| 67 | + console.log('Unable to delete token. ', err); |
| 68 | + }); |
| 69 | + // [END messaging_delete_token] |
| 70 | +} |
0 commit comments