Afin de vous inscrire et de surveiller en arrière-plan les notifications push de l'application Firebase Angular, utilisez l'API de notifications push pour Capacitor dans une application Ionic + Angular.
- Préparez votre compte Firebase et créez une application Android dans la console Firebase avec un identifiant de package, par exemple :
com.example.myapp
- Téléchargez le fichier
google-services.json
depuis la console Firebase et collez-le dans le répertoire racine de votre projet.
- Créez un projet Android dans votre répertoire en utilisant capacitor :
npx cap add android
Enfin, gérez l'écouteur de notifications dans le composant de votre application.
import { Component, OnInit } from '@angular/core';
import {
Plugins,
PushNotification,
PushNotificationToken,
PushNotificationActionPerformed } from '@capacitor/core';
const { PushNotifications } = Plugins;
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage implements OnInit {
ngOnInit() {
console.log('Initialisation de la page d'accueil');
PushNotifications.register();
PushNotifications.addListener('registration',
(token: PushNotificationToken) => {
alert('Inscription aux notifications push réussie, jeton : ' + token.value);
}
);
PushNotifications.addListener('registrationError',
(error: any) => {
alert('Erreur lors de l'inscription : ' + JSON.stringify(error));
}
);
PushNotifications.addListener('pushNotificationReceived',
(notification: PushNotification) => {
alert('Notification push reçue : ' + JSON.stringify(notification));
}
);
PushNotifications.addListener('pushNotificationActionPerformed',
(notification: PushNotificationActionPerformed) => {
alert('Action de notification push effectuée : ' + JSON.stringify(notification));
}
);
}
Note : Lorsque vous recevez une notification de Firebase, cette application ne sera pas déclenchée mais pushNotificationActionPerformed
sera déclenché lorsque vous cliquez sur la notification et êtes redirigé vers l'application.
https://capacitor.ionicframework.com/docs/apis/push-notifications