3

私は残りのAPIを使用してfirebaseイベントをリッスンしようとしています。問題はコールバックメソッドが呼び出されていないことです。私はこの目的のためにEventSourceを使用しています。これはイベントを聞く正しい方法ですか?Firebaseを使用してIOSでサーバー送信イベントを実装する方法は?

Auth.auth().currentUser?.getIDTokenForcingRefresh(true, completion: { (token, error) in 
    let server : String = "https://project-XXXXX.firebaseio.com/.json?auth=\(token!)" 

    let eventSource: EventSource = EventSource(url: server) 
    eventSource.onOpen { 
     // When opened 
     debugPrint("eventSource open") 
    } 

    eventSource.onError { (error) in 
     // When errors 
     debugPrint("error = \(error?.localizedDescription)") 
    } 
    eventSource.onMessage { (id, event, data) in 
     debugPrint("data = \(data)") 
     // Here you get an event without event name! 
    } 

    eventSource.addEventListener("child_added") { (id, event, data) in 
     debugPrint("data = \(data)") 
     // Here you get an event 'event-name' 
    } 
}) 

答えて

0

最終的に答えが見つかりました。私は 'child_added'イベントリスナーの代わりに 'put'イベントリスナーを追加する必要があります。

  • パッチ
  • キープアライブ
  • をキャンセルするには

https://github.com/inaka/EventSource/issues/86#issuecomment-354029202リファレンス)auth_revoked置く:documentationによると、私たちは、次のイベントリスナーを使用することができます

関連する問題