Ich speichere gerade ein Flag, um Benachrichtigungen in meinen Benutzereinstellungen zu deaktivieren. Ich benutze diese Flagge in meinem didReceieveRemoteNotifications
, um die Benachrichtigung anzuzeigen oder zu überspringen, die hereinkommt. Jedoch, wenn meine Anwendung im Hintergrund ist, zeigt es noch und ich glaube, dass ich alle meine Methoden richtig eingerichtet habe und es nicht getroffen wird. Gibt es eine Möglichkeit, diese Benachrichtigung zu erfassen, während sich die App im Hintergrund befindet und sie nicht anzeigt?iOS-Benachrichtigung überspringen oder deaktivieren, wenn App im Hintergrund ist
NSNumber* enabled = [Helper getBooleanPreference:[Config subscriptionsEnabled]];
if(enabled == nil || [enabled integerValue] == 1) {
completionHandler(UIBackgroundFetchResultNewData);
}
Wie würde das überhaupt funktionieren, wenn ich die Alarmdaten überhaupt verwenden möchte? –
Ich beschrieb Ihnen die einzige Möglichkeit, wie Sie Push-Benachrichtigungen innerhalb der App erhalten und entscheiden können, ob Sie sie dem Benutzer zeigen müssen oder nicht. Wenn Sie einige Daten im Push erhalten möchten, können Sie sie über die benutzerdefinierte Payload https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Creating theNotificationPayload.html#//apple_ref/doc/ abrufen. UID/TP40008194-CH10-SW1. – Sander
WICHTIG Hintergrundaktualisierungsbenachrichtigungen sind nicht dazu gedacht, Ihre App über schnelle Aktualisierungsvorgänge hinaus im Hintergrund wach zu halten, noch sind sie für Updates mit hoher Priorität gedacht. APNs behandeln Hintergrundaktualisierungsbenachrichtigungen mit niedriger Priorität und können ihre Zustellung insgesamt drosseln, wenn die Gesamtzahl zu hoch wird. Die tatsächlichen Grenzen sind dynamisch und können sich je nach Bedingungen ändern, aber versuchen Sie nicht, mehr als ein paar Benachrichtigungen pro Stunde zu senden. –