- RevueSDK
- RevueDelegate
Protocol
RevueDelegate
朋友層事件代理 — 監聽好友連線、訊息、Presence 等事件
protocol RevueDelegate : AnyObjectOverview
使用方式:
Revue.shared.delegates.add(delegate: self)
func revue(_ revue: Revue, friend friendId: String, didUpdatePaths paths: FriendConnectionPaths) {
updateUI(friendId, isOnline: paths.isOnline)
}
所有方法都有預設空實作,可選擇性實作需要的事件。 所有 delegate 方法在 Main Thread 呼叫。
Topics
Instance Methods
func revue(Revue, didReceiveFrameCryptoError: FrameCryptoError)Frame crypto 加解密錯誤(v0.14.0,C 層 type 102)
func revue(Revue, didReceiveFriendRequest: String, message: String)收到好友請求
func revue(Revue, didUpdateConnectionState: SelfConnectionStatus)自身 DHT 連線狀態變更(offline/tcp/udp)
func revue(Revue, didUpdatePresenceConnectionState: PresenceConnectionState)自身 Presence 服務(MQTT broker)連線狀態變更
func revue(Revue, friend: String, didEndInvitation: InvitationEndReason)雙邊共用:邀請結束(未成功進入通話)
func revue(Revue, friend: String, didReceiveInvitation: String?)接聽方視角:收到對方邀請
func revue(Revue, friend: String, didReceiveMessage: String)收到好友訊息(非 Room 內的一般訊息)
func revue(Revue, friend: String, didSendInvitation: String?)撥打方視角:我已送出邀請(對方在響鈴中)
func revue(Revue, friend: String, didUpdateName: String)好友改名
func revue(Revue, friend: String, didUpdatePaths: FriendConnectionPaths)好友連線路徑變更(v0.13.0-rc1:UDP 直連 / UDP 中繼 / TCP 中繼三路同時 bitmap)
func revue(Revue, friend: String, didUpdatePresenceStatus: PresenceStatus)好友 Presence 原始狀態(offline/online/away/busy)
func revue(Revue, friend: String, didUpdateStatus: UserStatus)好友主動設定狀態(UserStatus: none/away/busy)
func revue(Revue, friend: String, didUpdateStatusMessage: String)好友狀態訊息變更