我使用Android上的Twilio Programmable Chat SDK開發了聊天應用程序。Android Twilio Programmable Chat當應用程序轉到背景時斷開連接
問題:
有兩個用戶一個&乙加入到通道「AB_Private」,做聊天做工精細。
現在用戶一個新聞主頁按鈕並把應用程序在背景。 Twilio SDK檢測不活動並開始向服務器發送ping以保持連接正常。
工作正常4-5分鐘,但之後twilio與套接字斷開並開始檢索請求。但它永遠不會連接,直到用戶應用程序在後臺。
現在,當應用程序進入前臺時,twilio重置會話並嘗試重新連接,但連接需要更多時間,有時最多需要5分鐘。
所以我的問題是如何保持連接與Twilio應用程序在後臺時活着?
任何幫助將不勝感激。
@ philnash感謝您的即時回覆。我知道不建議將連接保持在後臺模式。但問題在於重試時間是漸進的,當應用程序再次進入前臺時,重新連接需要更多時間。沒有直接的方法可以簡單地調用reconnect。目前我們需要再次加載所有頻道,重新加入並設置代表,這需要更多時間。我們需要在最近的聊天屏幕上顯示輸入指示符,其中所有頻道都像whatsapp一樣列出。請指導我哪種方法更可靠。 –
您可能希望在本地存儲頻道和最近的消息,以便當用戶返回到應用程序時,您可以在重新連接時查看頻道並與其頻道互動。自從您提到Whatsapp以來,我注意到當我喚醒WhatsApp應用程序時,它顯示它正在重新連接,同時仍顯示最近的對話。我會遵循這種模式。 – philnash
@ philnash謝謝你的建議。其實我們正在做同樣的事情,一切都在本地sqlite數據庫管理,它工作正常。但每當應用程序來自後臺時重新創建Chatclient的問題是,我們需要重新獲取所有頻道,重新加入並設置代理。因爲存在的通道對象不適用於新客戶端。沒有簡單的方法來執行簡單的連接和斷開。那麼有沒有什麼辦法可以讓單一的委託方法監聽用戶參與的所有私人頻道,而不必每次都獲取並加入? –