2017-11-02 5 views
-1

Wie kann ich mit Benachrichtigungen umgehen, wenn meine App im Hintergrund und anregend? Jetzt bekomme ich einen Alarm, der meine App öffnet, wenn ich darauf klopfe. Aber wenn die Benachrichtigung empfängt, möchte ich die ApplicationIconBadgeNumber behandeln.xamarin.ios erhalten Benachrichtigung, wenn App im Hintergrund ist

Welche Methode hören Benachrichtigungen, wenn meine App im Hintergrund ist?

her mein AppDelegate.cs:

public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken) 
     { 
      PushNotificationManager.DidRegisterRemoteNotifications(deviceToken); 
     } 

     public override void FailedToRegisterForRemoteNotifications(UIApplication application, NSError error) 
     { 
      PushNotificationManager.RemoteNotificationRegistrationFailed(error); 
     } 

public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler) 
     { 
      PushNotificationManager.DidReceiveMessage(userInfo); 
} 
+0

Wollen Sie die ApplicationIconBadgeNumber im Hintergrund ohne Antippen der Benachrichtigung behandeln? –

+0

Ja, das stimmt. Wenn ich eine Nachricht erhalte und ich im Debug-Modus bin, ist meine App im Hintergrund, die BadgeNummer steigt. Wenn ich nicht im Debug-Modus bin und eine Benachrichtigung erhalte, erhöht sich die BadgeNumber nicht, weil meine App nicht aktiv ist. Was ist die Lösung? – Pascal

+0

Nein, das ist nicht möglich. "DidReceiveRemoteNotification" wird erst ausgelöst, nachdem wir auf die Benachrichtigung geklickt haben. –

Antwort

1

Eigentlich Benachrichtigung Apple Push wird von iOS behandelt und nicht Ihre App. Wir können das Abzeichen nicht ändern, wenn wir eine Push-Benachrichtigung erhalten. DidReceiveRemoteNotification wird nur ausgelöst, wenn der Benutzer auf die Benachrichtigung klickt. Die Aktualisierung der Ausweisnummer bei dieser Methode ist also nicht sinnvoll.

Wir können die Ausweisnummer ändern, wenn wir im Hintergrundzustand sind, indem wir den Parameter "badge" im Push-Benachrichtigungspaket senden.

Probe Nutzlast:

{ 
    "aps" : { 
     "alert" : "message", 
     "badge" : 2 
    } 
} 

Ihr App-Icon 2. Hier den Punkt zeigt, ist, dass die Berechnung für Badge-Zähler soll in der Server-Seite durchgeführt werden.

Beachten Sie, dass der badge-Parameter in der Nutzlast eine ganze Zahl sein muss.

Verwandte Themen