2016-07-05 7 views
0

Wenn wir eine Push-Benachrichtigung erhalten, während die Anwendung im Hintergrund-Modus, es verwendet automatisch aps und andere Parameter wie Ton, Abzeichen, Alarm eine Benachrichtigung zu erzeugen, die auf der Oberseite angezeigt wird.Prevent Auto erzeugt Push-Benachrichtigung

Ich möchte verhindern, dass automatisch generierte Benachrichtigung didReceiveRemoteNotification aufrufen und meine benutzerdefinierte lokale Benachrichtigung generieren und oben und Benachrichtigungszentrale anzeigen.

Der Grund dafür ist, dass die Nachricht an die Situation angepasst wird, die lokal verwaltet wird, nachdem einige Daten in Push-Benachrichtigungen empfangen wurden.

Ich habe nichts versucht, weil ich keine Lösung für diese Art von Szenario finden konnte. Ich weiß nicht einmal, ob es überhaupt möglich ist oder nicht.

Jede Hilfe oder andere Vorschläge, die diesen anderen Weg lösen könnten, wird sehr geschätzt.

Antwort

1

Sie einen Blick auf iOS Silent-Benachrichtigungen here

Aber Sie haben zwei Unterschiede Fälle haben:

  • 1 App vorne ist, hat der Empfangsfern genannt wird, und die Benachrichtigung nicht angezeigt.

  • 2 Ihre App ist im Hintergrund, und ich glaube nicht, dass die didreceiveRemove heißt.

Also in den 2 Situationen werden Sie Ihr Ziel nicht erreichen. Möglicherweise versuchen Sie, die Benachrichtigung vor dem Senden anzupassen

+0

Welche Methode wird aufgerufen, wenn wir Hintergrund holen verwenden. Was gibt uns 30 Sekunden Zeit, Anweisungen auszuführen? –

+1

Die Methode 'application: didReceiveRemoteNotification: fetchHandler:' wird aufgerufen, während sich die App im Hintergrund befindet, wenn die Benachrichtigungs-Payload den Wert 'content-available: 1' im' aps'-Dictionary enthält. – Avi

+0

Danke @Avi. Das hilft mir, eine lokale Benachrichtigung zu generieren, aber ein größeres Problem besteht darin, eine automatisch generierte Push-Benachrichtigung zu verhindern. –

0

Auch wenn Ihre App im Hintergrund ist, suspendiert, inaktiv oder beendet ist, wird sie durch eine Silent-Push-Benachrichtigung geweckt. (Hinweis: Das einzige Szenario, wenn die App nicht durch lautloses Drücken aufgeweckt wird, ist, wenn sie vom Benutzer aus der Steuerzentrale gelöscht wurde.)

So können Sie einen stillen Push senden, die erforderlichen Schritte ausführen auf den Daten und dann eine lokale Benachrichtigung generieren, die in das Tray gehen würde.