- RevueSDK
- InvitationEndReason
Enumeration
InvitationEndReason
邀請結束原因
enum InvitationEndReasonOverview
用於 RevueDelegate.didEndInvitation(reason:),以收到的這一端自己為視角: cancelled 是我取消、rejected 是我拒絕、timeout 是我這端等太久放棄、 finished 是對方結束了。
| 情況 | 撥打方收到 | 接聽方收到 |
|---|---|---|
| 撥打方取消 | .cancelled | .finished |
| 接聽方拒絕 | .finished | .rejected |
| 雙方都不動作,直到寬限期到期 | .timeout | .finished |
協定分不出對方是取消還是拒絕,所以撥打方看到 .finished 就是對方拒接, 接聽方看到 .finished 就是對方取消或等太久放棄。雙方都不動作時,撥打方先到期放棄, 再通知接聽方,所以接聽方收到的是 .finished;只有撥打方完全連不到時, 接聽方才會自己到期、收到 .timeout。
App 從前面收到的 didSendInvitation 或 didReceiveInvitation 知道自己是哪一方。
來源
cancelled / rejected 由 SDK 在本端 cancelInvitation / rejectInvitation 成功時 fire。 timeout / finished 由 C 層 AV_CALL_STATE 的兩個 bit 轉譯而來, 該 bitmap 表達的是「由誰判定通話結束」而非「為什麼結束」。
Topics
Enumeration Cases
case cancelled我取消了自己送出的邀請(只有撥打方會收到)
case finished對方結束了邀請(C 層
AV_CALL_STATEFINISHED bit)case rejected我拒絕了收到的邀請(只有接聽方會收到)
case timeout我這端寬限期到期、放棄等待(C 層
AV_CALL_STATEERROR bit)