2016-04-07 3 views
6

Ich verwende eine Firebase-Datenbank für meine iOS Swift App. Nachdem ich eine Menge Material online durchgearbeitet hatte, entschied ich mich, Batch + Firebase zu versuchen, um remote Push-Benachrichtigungen an einen angemeldeten, authentifizierten Benutzer in einer App zu senden, wann immer Knotenwerte in seiner Datenbank geändert wurden. Ich speichere die UID angemeldeten Benutzer wie so:Wie wird Remote Push Notification ausgelöst, wenn Firebase-Datenbankknotenwerte für einen Benutzer in Swift für die iOS-Entwicklung mit Batch geändert werden?

override func viewDidLoad(){ 
     super.viewDidLoad() 
     //... 
    editor = BatchUser.editor 
    editor.setIdentifier("uid" as String!) 
    editor.save() 
} 

Natürlich, ich habe zu ermöglichen, Push-Benachrichtigungen für meine Anwendung die notwendige Hintergrundarbeit getan. Haben Sie auch Pods von Firebase und Batch installiert, und ich bekomme Benutzer, um Benachrichtigungseinstellungen zu aktivieren.

Ich bin nicht sicher, wie Sie die geänderten Datenbankwerte in eine Push-Benachrichtigung schreiben und an einen Benutzer liefern. Ich suchte online nach relevanten Tutorials, aber ohne Erfolg.

Jede Richtung, wie die Batch-APIs in Swift für Firebase implementiert werden, wird sehr geschätzt.

+0

Glück gehabt mit diesem @AtlasShrugged? Ich versuche eine ähnliche Sache mit Firebase zu machen. – justColbs

Antwort

0

Wenn Sie Push-Benachrichtigungen wollen direkt aus der App (Benutzer zu Benutzer) senden, werden Sie Batch Transactional API mit custom_ids (Firebase UID) in der Empfängerliste anstelle von Push-Token verwenden.

Sie müssen lernen, wie Sie eine REST API von Swift-Code aufrufen. Hier

ist ein Tutorial: http://www.kaleidosblog.com/nsurlsession-in-swift-get-and-post-data

+1

Dies ist, was ich tue, um Benachrichtigungen mit Batch und Firebase zu senden, jedoch wurde mir gesagt, jemand vom Batch-Team, dass das Senden von Benachrichtigungen aus der App unsicher und potenziell unzuverlässig sein könnte. Wenn dies der Fall ist, gibt es eine Möglichkeit, die Benachrichtigung basierend auf einer Änderung in der Firebase-Echtzeitdatenbank statt in der App auszulösen? –

+0

Senden von der App direkt bedeutet, dass Sie Sicherheitsschlüssel in den Client-Code, es war ungesichert mit Parse und es ist mit anderen Diensten, Batch enthalten. Wenn Sie Benachrichtigungen basierend auf Änderungen der Firebase-Benutzerdatenbank auslösen möchten, müssen Sie selbst serverseitigen Code schreiben. –