udesk在線客服系統(tǒng)推送消息到客戶端遇到的問題

當用戶通過在線客服系統(tǒng)和客服溝通之后,我們希望客戶離開了聊天界面之后,依然能夠接收到我們客服推送過去的消息。在我們的項目中在線客服系統(tǒng)集成的是udesk,因此我們就以udesk為原型進行講解。

一:udesk版本號需要提升到3.2之后

根據(jù)udesk官方文檔配置之后,同時服務器端也需要做相應配置,我們就可以在離開聊天界面之后,依然接收到通過udesk系統(tǒng)的客服推送過來的消息。這里的推送,是通過極光推送來完成的。

二:極光可以接收到消息,但是onReceive()并沒有被調用

image.png

我們項目使用的極光推送是2.1.9。udesk使用的是極光推送2.2.0版。極光推送最新的版本3.0.6。所以我在這三個版本之間都做了測試,發(fā)現(xiàn)2.1.9是可以接收到消息,但是不會調用onReceive(),2.2.0版本就連項目本身集成的極光推送都沒有推送過來,何況udesk,3.0.6版本則實現(xiàn)了上述所有功能。

三:udesk客服消息列表。

由于在ios的文檔中,可以獲取客戶本地聊天記錄。但是android端的文檔中,并沒有提及到有這樣的接口存在。

image.png

于是就翻了一下UdeskSDKUI這個庫,發(fā)現(xiàn)在UdeskDBManager中,官方已經(jīng)將從本地獲取聊天記錄的基本方法提供了,只是并沒有暴露出來。

image.png
image.png

我們就可以根據(jù)UdeskDBManager的使用規(guī)則,通過這些方法,獲取自己希望得到的列表消息。

image.png

四:如何將udesk消息列表和環(huán)信消息列表展示在同一個列表中。

最開始我的想法是能不能通過將udesk消息轉換城一個環(huán)信消息,然后在消息中設置一個變量用來標示,但是此路不通。再后來我就將用來存放消息的集合的泛型去掉。這樣這個list中就可以同時存放udesk消息和環(huán)信消息,然后我們在adapter中設置消息內(nèi)容的時候,就可以通過instance of 這個關鍵字來判斷,當前位置的數(shù)據(jù),是來自udesk消息,還是來自環(huán)信的消息。

添加了兩種不同類型的數(shù)據(jù)

最后我們在adapter中通過下面的判斷,就可以設置數(shù)據(jù)了。

 Object object = getItem(position);
 if(object instanceof EMConversation){
  //這里是環(huán)信消息
 }else if(object instanceof MessageInfo){
 //這里是udesk消息
 }
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 最初了解到極光,是看到極光在知乎發(fā)的一篇帖子,關于他們開源的 IM 項目:Aurora IMUI的,從此知道了...
    碳酸氫鈉x閱讀 6,779評論 56 135
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,057評論 25 709
  • 極光推送: 1.JPush當前版本是1.8.2,其SDK的開發(fā)除了正常的功能完善和擴展外也緊隨蘋果官方的步伐,SD...
    Isspace閱讀 6,884評論 10 16
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評論 19 139
  • 身體很疲憊 不知道今年會有多少倒霉事降臨在我身上,我已經(jīng)感覺到各種不詳?shù)念A感。 他老說他要瘋,我卻沒感覺到他要瘋。...
    cheerhoo閱讀 207評論 0 0

友情鏈接更多精彩內(nèi)容