J'utilise le plug-in ionique Notifications locales pour mon application de réservation de table ionique. J'ai un tableau de bord Web qui contrôle l'application Ionic.Les notifications locales ioniques se déclenchent en cas de changement d'état
Lorsqu'une réservation est approuvée dans le tableau de bord et que le statut change, j'essaie de déclencher une notification locale.
J'ai la notification fonctionne très bien mais j'ai un problème majeur que je ne peux pas comprendre. Dans l'application ionique, un utilisateur voit une liste de toutes ses réservations, puis lorsqu'il ouvre la réservation, il ouvre une page avec tous les détails de réservation, y compris une référence visuelle à son statut de réservation, à savoir En attente, Approuvé ou Annulé.
ici est mon élément:
export class OrderDetailsPage {
orderId: any;
orderDetails: any = {
status: ''
};
booking: any = {};
constructor(private localNotifications: LocalNotifications, public modalCtrl: ModalController, private calendar: Calendar, public af: AngularFireDatabase, private device: Device, private appAvailability: AppAvailability, private platform: Platform, public navCtrl: NavController, public navParams: NavParams) {
this.orderId = this.navParams.get('id');
this.af.object('/orders/' + this.orderId).subscribe(res => {
this.orderDetails = res;
//Call my check status function to trigger notification
this.checkStatus();
var orderId = res.orderId;
this.af.list('/bookings', {
query: {
orderByChild: 'orderId',
equalTo: orderId
}
}).subscribe(res => {
this.booking = res[0];
});
})
}
checkStatus(){
if (this.orderDetails.status == 'Accepted') {
this.localNotifications.schedule({
id: 1,
title: 'Your Booking Was Accepted!',
text: 'Your booking has been Accepted by the restaurant!',
sound: ''
});
}
}
}
Le orderId est passé de la page de la liste des commandes, cela me aide l'ordre particulier à afficher sur la page Détails de la commande.
Le problème auquel je suis confronté est que la notification ne se déclenche que lorsque j'entre littéralement dans la page de détails de la commande qui est inutile. Je souhaite détecter globalement, lorsqu'un statut de commande particulier change pour cet utilisateur particulier et cette réservation particulière, de En attente (défini par défaut dans Firebase) à Approuvé et non lorsqu'un utilisateur entre dans la page des détails de la commande.
J'ai pensé à essayer le code à la racine de l'application, mais je ne serai pas en mesure d'obtenir l'ID de navParams à affecter à la variable orderId.
Je ne suis même pas sûr que ce que je veux faire est même possible avec les notifications locales?