標籤:
此帖為 放大招了!基於Bmob的Android即時通訊應用源碼 (一) 續篇,主要是更新的功能。
一、更新更能:
1、新增支援陌生人聊天,允許發送給非好友使用者;
2、新增支援自訂訊息發送,便於開發人員擴充;
3、新版本大幅度增加穩定性和及時性,保證百分百到達;
4、排除web後端推送對用戶端的影響。
二、更新講解:
1、如果你希望能和所有人(不局限於好友關係)進行聊天,那麼這一版本就解決了這個問題。
如果你想看到效果,可以點擊附近的人,你找到一個非好友使用者,再查看他的資料,這一頁面下方有個“發起會話”的按鈕,這裡就可以和陌生人聊天啦。(不要問我,為什麼我搜尋附近的人沒資料呢?你一個建立的key,連註冊使用者都沒有,那附近的人怎麼可能會顯示出來?)
2、如果你希望發送任意格式的訊息,那麼你只需要調用如下方法即可:
BmobChatManager.getInstance(this).sendJsonMessage(String json, String targetId);
註:第一個參數:你要發的Json格式的字串,第二個參數,就是對方的objectId
但關於發送的Json格式遵循一定的規範,具體可查看:。
然後,你就需要在MyMessageReceiver的廣播接收器中自行解析你所定義格式的訊息啦。
3、V1.1.2版本大幅度增強了及時性和穩定性,能夠保證到達率。
由於推送服務有時候會出現訊息丟失的情況,並不能保證訊息一定被對方接收到,故在此基礎上增加了一個定時檢測服務,定時時間可以由開發人員自行設定。
你需要開啟定時檢測服務的話,需要在主程式介面的onCreate方法中調用如下方法:
BmobChat.getInstance(this).startPollService(30)
然後在onDestory方法裡調用如下方法取消檢測服務:
BmobChat.getInstance(this).stopPollService()
另外,需要在你的AndroidManifest.xml裡面加上如下一段代碼
<!-- 啟動定時檢測操作 -->
<service android:name="cn.bmob.im.poll.BmobPollService">
<intent-filter>
<action android:name="cn.bmob.im.service.BmobPollService"/>
</intent-filter>
</service>
4、有的同學沒有兩部真機,會從web後台推送訊息給用戶端,之前的版本會使得用戶端奔潰,這一版排除了後端推送對用戶端的影響。
三、使用Bmob_IM_SDK時需要注意的問題如下:
1、請使用兩台真機測試,請不要用模擬器來測試,模擬器是接收不到推送訊息的。
2、很多人由於沒有兩部真機,會採用一個手機註冊兩個不同的帳號,這樣來回切換賬戶來測試聊天,這種方式達不到測試的效果,雖然這一版本的改進使得這種方式能夠收到訊息,但是及時性比較低。而之前的版本,這種方式是收不到訊息的,故不建議這樣測試,只有兩部真機才能達到真實的聊天效果。
3、請到Bmob官網註冊申請應用的Application ID並在SplashActivity類中完成初始化操作。
4、有很多人匯入了工程後發現有這個錯:java.lang.IncompatibleClassChangeError: cn.bmob.im.project,這個是因為BmobIM_V1.1.2是基於BmobSDK_v3.2.3_0919混淆打包的,所以如果你要用的話,這兩個包應該是一起導進去的,替換之前的Bmobsdk和BmobIM包。
源碼在此
連結: http://pan.baidu.com/s/1c0CUcVI 密碼: ctuc
放大招了!基於Bmob的Android即時通訊應用源碼[升級版]