Ich frage mich, wie Apple Push-Benachrichtigungen verwaltet werden, wenn sich viele Benutzer für dieselbe App auf demselben Gerät befinden, da das Geräte-Token für jedes Gerät eindeutig ist.Verwalten von APN-Benachrichtigungen für mehrere Benutzer auf demselben Telefon
Wenn ich zwei registrierte Benutzer in meiner App auf demselben Gerät habe, wie kann ich verhindern, dass die Push-Benachrichtigung angezeigt wird, wenn die Benachrichtigung für userA erfolgt, aber userB derzeit in der App angemeldet ist?
Wenn sich die App im Vordergrund befindet, kann sie leicht von einer Benutzer-ID verwaltet werden, die verhindert, dass der Code ausgeführt wird, wenn der APN nicht für diesen Benutzer bestimmt ist.
Aber wie geht das, wenn die App im Hintergrund ist? Das Gerät empfängt den APN, gibt eine Warnung aus und zeigt die Benachrichtigung an, welcher Benutzer gerade in der App angemeldet ist ...
Ja das ist es, ich speichere Benutzerinformationen in 'NSUserDefaults'.Aber wie vermeidet man, dass das Telefon den APN (Bildschirmbenachrichtigung, Ausweis und Tonalarm) in 'didReceiveRemoteNotification' behandelt? Ich habe es in 'Anwendung (Anwendung: UIApplication, didReceiveRemoteNotification userInfo: [NSObjekt: AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void)' durch eine Bedingung auf die Benutzer-ID setzen: der Code, der den APN behandelt, ist nicht gut ausgeführt, aber im Hintergrund zeigt das Telefon immer noch die Benachrichtigung, ein Abzeichen und einen Alarm an. – Thomi
Entschuldigung Ich habe verpasst, dass Sie scheinen, die Version mit fetchCompletionHandler bereits aufrufen, ich denke, vielleicht der Teil, den Sie vermissen, ist der Inhalt verfügbaren Schlüssel in der APN-Nutzlast. – nPn
Nein meine Nutzlast enthält "content-available" auf 1 gesetzt: 'var note = new apn.Notification(); ... note.contentAvailable = 1; ' – Thomi