1

Ich verwende das ionische Local Notifications Plugin für meine Table Booking ionic App. Ich habe ein Web-Dashboard, das die Ionic App steuert.Ionic Local Notifications Auslöser bei Statusänderung

Wenn eine Buchung im Dashboard genehmigt und der Status geändert wird, versuche ich eine lokale Benachrichtigung auszulösen.

Ich habe die Benachrichtigung funktioniert gut, aber ich habe ein großes Problem, das ich nicht herausfinden kann.

In der ionischen App sieht der Benutzer eine Liste aller Buchungen. Wenn er dann die Buchung auswählt, öffnet er eine Seite mit allen Buchungsdetails, einschließlich einer visuellen Referenz auf seinen Buchungsstatus, also Ausstehend, Genehmigt oder Storniert.

hier ist meine Komponente:

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: '' 
        }); 
      } 
    } 
} 

Die orderId aus der Bestellliste Seite übergeben wird, das hilft mir die besondere Reihenfolge auf der Bestelldaten Seite zu zeigen, zu erhalten.

Das Problem, mit dem ich konfrontiert bin, ist die Benachrichtigung wird ausgelöst, wenn ich buchstäblich in die Detailseite der Bestellung gehen, die sinnlos ist.

Ich möchte global erfassen, wenn eine bestimmte Reihenfolge Statusänderungen für diesen bestimmten Benutzer und dass insbesondere der Buchung von Pending (standardmäßig in Feuerbasis eingestellt ist) auf Genehmigt und nicht, wenn ein Benutzer geht in die Bestelldaten Seite.

Ich überlegte, den Code im Stamm der App auszuprobieren, aber ich werde nicht in der Lage sein, die ID von den navParams zu erhalten, um der orderId Variable zuzuweisen.

Ich bin nicht einmal sicher, was ich tun möchte, ist sogar mit lokalen Benachrichtigungen möglich?

Antwort

0

Für diesen Anwendungsfall müssen Sie Remote-Benachrichtigungen implementieren. Sie müssen Ihrem Server einen Hook hinzufügen. Wenn sich der Auftrag ändert, senden Sie eine Benachrichtigung über einen Dienst wie node-apns oder Ionic Push. Lokale Benachrichtigungen können nicht im Hintergrund mit Ionic geändert werden.

Verwandte Themen