2011-01-10 12 views
0

Ich habe Zweifel. Ich erstelle eine Anwendung, in der, wenn eine neue Anfrage gesendet wird, ich eine Push-Benachrichtigung in meiner Anwendung erhalte und durch Antippen der Schaltfläche "Anzeigen" in der Push-Benachrichtigung muss ich die Anforderungsdetailseite anzeigen. Nun ist diese Anforderungsdetailseite normalerweise die fünfte Ansicht im Stapel. Wie soll ich damit umgehen? Soll ich die ersten 4 Ansichten initialisieren und auf den Stapel legen, bevor ich zur Detailseite gehe?Push Notification Alert Handling

Es gibt auch ein Szenario, in dem jemand an einem Teil der App arbeitet und eine Benachrichtigung erscheint. Darf ich die Änderungen auf der aktuell geöffneten Seite verlieren und die Anforderungsdetails anzeigen, wenn "View" angetippt wurde?

Wie soll ich damit umgehen?

Antwort

1

Sie können nur diese Ansicht drücken (die übliche 5. Ansicht). Die einzige Sache ist, dass wenn Sie diese Ansicht öffnen, sie nun als zweite Ansicht fungiert, so dass Sie nicht durch 4 zusätzliche Ansichten gehen müssen.

+0

Was ist mit dem Fall, wenn meine Anwendung nicht ausgeführt wird, und ich bekomme die Push-Benachrichtigung und dann zeige ich die Anfrage-Seite nach dem Tippen auf die Schaltfläche "Ansicht"? Wo soll ich landen, wenn ich zurückkommen möchte? – Abhinav

+0

Sie können die App laden und vom Startbildschirm (rootView oder was auch immer) Ihre Detailansicht laden. Wenn Sie diese Ansicht verlassen, befinden Sie sich in der Stammansicht. – WrightsCS

1

Sie können die 5 Ansichten initialisieren und an Ihren Navigationscontroller senden (mit animate:NO), um die App an der richtigen Stelle zu starten.

Wenn Sie eine Benachrichtigung während der Ausführung erhalten, liegt das an Ihnen und was ist das Beste für die App. Sie können den Benutzer immer vor dem Löschen von Daten auffordern. Beachten Sie, dass, wenn Sie eine Push-Benachrichtigung erhalten, Ihre application:didReceiveRemoteNotification:statt der Warnung angezeigt wird.

+0

Ok. Wenn meine Anwendung eine Authentifizierung benötigt, muss ich vor dem Anzeigen der Anforderungsdetailseite auch nach Benutzeranmeldeinformationen fragen? Dies ist der Fall, wenn meine App nicht ausgeführt wird und Push-Benachrichtigungen angezeigt werden. – Abhinav

1

Dies wird normalerweise erreicht, indem der Controller modal angezeigt wird.

Auf diese Weise müssen Sie die View-Controller-Hierarchie nicht neu erstellen, und Sie verlieren nicht den aktuellen Kontext Ihrer App, wenn sie ausgeführt wird. Der Benutzer tippt auf "OK" und kehrt zum vorherigen Bildschirm zurück.

+0

Was passiert, wenn ich einige Aktionen auf dem Bildschirm habe, die ich zeige, sobald Benachrichtigungen kommen ... Wie an sich selbst und andere Sachen zuweisen? – Abhinav

+0

Wie von Daniel angegeben, können Sie eine Warnmeldung anzeigen, wenn Sie eine Benachrichtigung erhalten, und den Benutzer fragen, ob er den bestimmten Controller öffnen möchte oder ob er es lieber ignoriert. – Jilouc

0

Für den ersten Teil Ihrer Frage: Wenn Sie Ihre Ansicht auf eine entkoppelte Weise erstellt haben, das heißt, wenn es nicht von den 4 anderen Ansichten abhängig ist - dann können Sie diese Ansicht ohne Probleme zeigen. Offensichtlich hängt die Antwort wirklich davon ab, ob Ihre Geschäftsregeln dies zulassen.

Was den zweiten Teil Ihrer Frage betrifft: Sie können Ihren Benutzern immer einen UIAlertView zeigen, der fragt, ob sie auf die empfangene Push-Benachrichtigung reagieren wollen.

Allerdings - ich denke, diese Probleme haben wirklich nichts mit der Art der Push-Benachrichtigungen zu tun, und Sie sollten wirklich verlieren die "Ich habe Zweifel an Push-Benachrichtigung" Teil Ihrer Frage :) ....

Hoffe das hilft :)

Verwandte Themen