? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
在這里我只說下自己開發(fā)遇到坑,其他的按照文檔和demo來就可以了;
1.首先如果你們的項目不需要google推送的話需要去掉google推送的初始化,不然APP會閃退;
由于我公司的項目啟動完APP后不是初始進入會話列表,所以我初始先獲取了自己加入的群和好友列表數(shù)據(jù)(這里看公司產(chǎn)品的需求是否要先獲取了,如果不先獲取,用戶操作沒有點擊到你獲取這些數(shù)據(jù)的頁面,APP切換到后臺時,別人給你發(fā)消息,消息推送就不好取值進行通知顯示了);
因為騰訊云IM是項目后期嵌入的,所以我們需要對每個賬號的屬性進行賦值(例如:性別,昵稱,頭像URL,還有一些自定義屬性,如:等級),或者讓后臺把所有數(shù)據(jù)都導(dǎo)入到騰訊云中;注意在項目修改這些屬性時需要同步調(diào)用IM相對應(yīng)的方法來改變。
2.接下來就是要搜索好友了,IM的demo支持昵稱和ID搜索,但是實際上對外只支持ID搜索(群搜索也是只支持ID搜索,文檔沒寫昵稱搜索不可用,最后問客服才知道的。),所以我們就用了自己的后臺搜索。
3.在添加好友后,騰訊云默認(rèn)是不需要驗證的,如果設(shè)置了需要驗證,這時被添加的用戶就會收到一個未決的好友申請,如果用戶拒絕了,在好友未決列表就不會顯示這條數(shù)據(jù)(好友未決列表只有未決和同意的,拒絕的不會顯示),相應(yīng)的,群未決列表如果拒絕了是會顯示的,但是沒有已拒絕狀態(tài),而且這個群未決列表的返回值里面只返回了請求和被請求的ID,項目的UI基本是包含頭像,昵稱,個性簽名。昵稱和頭像這些都沒有返回,需要自己再發(fā)獲取用戶信息的方法去獲取,好多地方都是這樣只返回ID,UI怎么顯示啊,所有你寫的時候就好發(fā)現(xiàn)少了N多東西,然后發(fā)各種請求去獲取才能讓你的UI顯示完全,這些地方是有這些屬性的,但是全部都是空的,不知道設(shè)計為什么要這樣搞,只有一個ID,界面都沒法寫),

4.會話列表數(shù)據(jù):由于陌生人也可以進行會話,所以這個列表里面就包含了好友和陌生人的消息在這里面,列表進行顯示時,好友可以通過自己的存的好友列表里面取,但是陌生人呢?只能發(fā)獲取用戶信息的方法去請求了,這個方法是耗時的,直接在這里用會導(dǎo)致圖片錯亂和閃動,我就直接把陌生人單獨取出來進行合并在另外一個界面進行統(tǒng)一顯示了;
說到會話,就會有未讀消息提醒,onNewMessages這個文檔的說明是新消息的監(jiān)聽,但是如果有好友未決,你每次退出登入它同樣會觸發(fā),而且在這里調(diào)用獲取會話的未讀數(shù)getUnreadMessageNum的值也是錯的,最后我用判斷是否已讀來過濾掉這些錯誤值(經(jīng)過反復(fù)測試,暫時沒發(fā)現(xiàn)什么問題)。
5.創(chuàng)建完公開群后,群主和群成員是不能主動邀請別人進群的,就是說公開群只能通過用戶自己搜索然后申請進群(文檔沒寫清楚),私有群的話可以邀請別人進群,但是被邀請的用戶不需要同意就直接進群了,如果你門只創(chuàng)建私有群的話,就沒有群未決功能了;
6.總結(jié),獲取數(shù)據(jù)太麻煩,需要頻繁調(diào)用獲取用戶信息的方法,使用起來很麻煩,幾個正常需要用到的功能也沒有。

就這樣的簡單UI,拿數(shù)據(jù)會要幾步才能獲取全。(只有好友
列表返回全了,其他地方需要發(fā)TIMFriendshipManager.getInstance().getUsersProfile//獲取用戶資料)
第一次寫文章,寫的不好,希望大家見諒,有不理解或者開發(fā)上遇到了什么問題的可以留言。