2015-10-09 1 views
40

Ich habe bemerkt, dass eine Push-Benachrichtigung führt zu folgendem Verhalten zu senden:iOS Push Notification Banner zweimal für einen einzelnen Druck gezeigt

Push Banner is shown twice?

Sehen Sie, wie das Banner ein zweites Mal gezeigt wird, nach einem kurzen verzögern?

Zuerst dachte ich, dass unser Backend irrtümlich 2 Push-Benachrichtigungen nacheinander versendet hat.

Dies scheint jedoch das Standardverhalten von iOS für eine einzelne Push-Benachrichtigung zu sein. Das Banner wird angezeigt, dann sofort "wieder angezeigt". Dies führt dazu, dass diese nervige Benutzeroberfläche im gif angezeigt wird. Das Banner scheint zweimal empfangen zu werden.

Getestet mit iOS 9.0.2.

Ich kann mich nicht erinnern, dieses Verhalten von anderen Apps zu sehen, die mir Push-Benachrichtigungen senden. Mache ich etwas falsch, dass das Banner zweimal angezeigt wird?

Radar:

Technik hat festgestellt, dass Ihr Bug-Report (23133694) ist ein Duplikat einer anderen Ausgabe (23130766) und wird geschlossen.

+0

Das ist komisch. Sie könnten versuchen, Push-Benachrichtigungen mit einem anderen Backend (d. H. Parse) zu testen, nur um zu sehen, ob es zu demselben Verhalten kommt. Ich habe vor ein paar Tagen Push-Benachrichtigungen getestet, und mir sind solche Störungen nicht aufgefallen. Haben Sie versucht, auf verschiedenen Geräten zu testen? – FreeNickname

+0

Definitiv kein Problem mit iOS, da andere Leute es gemeldet hätten, wenn es war. Entweder sendet Ihr Server es zweimal, oder das Ereignis, das den Server zum Senden der Benachrichtigungen auslöst, wird zweimal ausgelöst. –

+0

@FreeNickname Zusätzlich zu unserem Backend habe ich dies mit einem einzigen Push vom [NWPusher] getestet (https: // github.com/noodlewerk/NWPusher), dasselbe Problem. – pkamb

Antwort

0

-this answer auf eine ähnliche Frage nach, wurde diese Frage als rdar berichtet: // 23.569.779 und sollte in der öffentlichen Version iOS 9.3 behoben.

Bitte hinterlassen Sie einen Kommentar, wenn Sie dieses Problem in iOS 9.3+

reproduzieren

in Angeblich soll festgelegt:

iOS 9.2.1 beta (Build: 13D11)

+2

Ich kann diesen Fehler auf iOS 9.3.2 (13F51a) reproduzieren. Der Effekt ist genau der gleiche. –

+0

Selben wie Aleksander ^^^ – justColbs

+1

bekam das Problem auf iOS 9.3.3 – Swasidhant

3

Sind Sie sicher, dass Sie alle Ihre Setup richtig machen?
Wenn Sie mehr Code bereitstellen, wird es einfacher, den Fehler zu finden. Es ist definitiv kein iOS Bug.


Grundlegende Dinge zu überprüfen, wenn Sie Probleme mit Server-Benachrichtigungen haben:

1. Ihr Provisioning-Profil prüfen und alle nicht verwendeten Zertifikate aufzuräumen.
2. Vergewissern Sie sich, dass Ihre Serverkonfiguration in Ordnung ist. Auch hier sind mehr Details für die vollständige Antwort erforderlich.

Wenn Sie dies offline dann normalerweise verpasst haben Sie etwas in Ihrem Code oder Ihr Handler für abgelegene Beiträge wird zweimal aufgerufen.

+0

Ich bin ziemlich sicher, dass mein Setup korrekt ist. Es wird nur ein Push über das NWPusher-Tool gesendet, aber zwei Banner werden angezeigt. Ein Mitarbeiter bestätigte das Problem ebenso wie jemand in den Kommentaren dieser Frage. – pkamb

+0

@pkamb es ist auch definitiv kein iOS-Problem. Dann, wenn das Backend in Ordnung ist, sehen Sie sich die Push-Handhabung in Ihrem Code an. –

+0

Die Push-Handhabung in meinem Code hat wenig damit zu tun ... eine andere App ist geöffnet, und iOS zeigt das Push-Benachrichtigungsbanner oben auf der App. Push-Handling in einer App kann nicht dazu führen, dass das Banner zweimal angezeigt wird ... – pkamb

32

Ich hatte das gleiche Problem, aber nach unzähligen Stunden zu debuggen, erkannte ich, dass ich registerUserNotificationSettings(settings) zweimal in didFinishLaunchingWithOptions: rief. Vergewissern Sie sich, dass Sie nicht dasselbe tun

+0

Danke für die Antwort, ich werde das überprüfen. Dies scheint ein Workaround für einen iOS-Bug zu sein ... es sollte zwei gültige Anwendungsfälle für den Aufruf von 'registerUserNotificationSettings:' geben, zum Beispiel das Anfordern von Badges sowie von zuvor angeforderten Alarmen. – pkamb

+0

Irgendwie hatte ich das getan und du hast mir das Leben gerettet! – Alex

+0

Hatte das gleiche Problem .. Danke! –

2

Verwenden Sie die Datenbank zum Speichern der Geräte-ID?

Wenn ja, dann speichern Geräte-ID zwei mal.Wenn möglich sauber db sein kann, und versuchen Sie es erneut zu senden

1

Ich denke, die falsche Antwort wird hier akzeptiert (Wenn es um die Migration von Parse zu OneSignal geht). Denn für OneSignal scheint es dafür keine geeignete Lösung zu geben. Ich suche auch nach der Lösung, wenn jemand hat. Die einzige Problemumgehung dafür war, das Telefon neu zu starten.

Aber es ist komisch. Wir können nicht alle Benutzer bitten, ihr Gerät neu zu starten.

1

Dieses Problem trat bei zwei Geräten auf, die wir mit den Versionen ios 9.3.3 und ios 9.2 verwendeten. Aber dieses Problem kam nicht für ein Gerät mit iOS 8.2 und ein anderes für iOS 10 (getestet am 10.3)

Problem bei Geräten mit 9.3.3 und 9.2 bei jeder Neuinstallation aufgetreten. Aber das Gerät neu zu starten schien das Problem zu beheben. Obwohl dies keine Lösung ist, können wir unseren Kunden vorschlagen.

In den Konsolenprotokollen für das System haben wir 'Unsymmetrische Aufrufe zu Beginn/Ende Aussehen Übergänge für SBBannerButtonViewController' Nachricht wenn dies aufgetreten ist.

Dies scheint ein Problem mit einigen Geräten mit 9.x-Versionen und sollte für Geräte mit iOS 10.0 und höher funktionieren.

1

Wir waren auf IOS 9.3.1 die gleiche Frage, die sich

Wir für städtisches Luftschiff benutzt, um Benachrichtigungen verwalten und dies unser Setup war

let config = UAConfig.default() 

UAirship.setLogging(false) 
UAirship.takeOff(config) 
UAirship.push().userPushNotificationsEnabled = true 
UAirship.push().notificationOptions = [.alert, .badge, .sound] 
UAirship.push().backgroundPushNotificationsEnabled = false 
UAirship.push().pushNotificationDelegate = self 

Nach vielen Versuchen wir einfach die folgende Zeile entfernt und es funktionierte !

UAirship.push().notificationOptions = [.alert, .badge, .sound] 

Ich hoffe, das wird jemandem helfen.

1

Ich weiß, diese Antwort ist ein paar Jahre nach der ursprünglichen Nachricht, aber falls dies jemand hilft ...

In meinem Fall ich Wolkenjungen Benachrichtigungen wurde mit und hatte versehentlich zwei Abonnements erstellt, die denselben Datensatz verfolgt Art!