如何在IOS上收听Facebook的服务器端活动实时评论



我正在使用新的SSE端点对实时视频进行实时评论。我的问题是如何在IOS上实现这一点,以及我应该使用什么库

我尝试使用IOS的事件源https://github.com/inaka/EventSource

但是,即使我尝试使用OnMessage和addOnEventsource,它似乎也不起作用。

这是我收听实时评论的代码

var live_commentURL =  URL.init(string:"https://streaming-graph.facebook.com/(fbLiveStreamId!)/live_comments?access_token=(accessToken ?? "")&comment_rate=one_per_two_seconds&fields=from{name,id},message")

let queryItems = [NSURLQueryItem(name: "access_token", value: accessToken!), NSURLQueryItem(name: "comment_rate", value: "one_hundred_per_second"),NSURLQueryItem(name: "fields", value: "from{name,id},message")]
let urlComps = NSURLComponents(string: "https://streaming-graph.facebook.com/(fbLiveStreamId!)/live_comments")!
//        var headders:[String:String] = [:]
//        headders["access_token"] = accessToken!
//        headders["comment_rate"] = "one_hundred_per_second"
//        headders["fields"] = "from{name,id},message"
var eventSource = EventSource.init(url:urlComps.url!)
eventSource.connect()
eventSource.onOpen {
print("Successfully Connected to server")
}
eventSource.addEventListener("user-connected") {(id, event, data) in
print("id:", id)
print("event:" , event)
print("data: ", data)
}
eventSource.onMessage { (id, event, data) in
print("id:", id)
print("event:" , event)
print("data: ", data)
}
print(eventSource.events())
eventSource.onComplete { (code, isErro, error) in
print(code)
}

我也尝试过在headders中发送访问令牌和其他字段,但没有成功。

我尝试了两种方法

方法1发送accesstoken、comment_rate和字段作为标题,但我认为这不是正确的方式。

方法2

由于它们都是查询参数,我使用了NSURLComponents。

我的身份验证令牌有问题我的不好

最新更新