極光im實時聊天

最近一個多月終於忙完了,一直在做app集成和完善實時聊天功能,特此記錄一下。。。

以前用過環信的實時聊天,不得不說環信確實做得好,一個easyUi就能讓你舒舒服服的專心寫其他的,不過因爲收費,所以這次聽我們產品的用免費的極光im    ~。~

1。首先沒得說  去註冊極光im的賬號 appk之類的去吧   然後把需要的權限那些配置文件粘貼到自己的Manifest中  該修改的要記得修改稱自己的。

2。導入極光im的在線庫  我用的是這個二個

compile 'cn.jiguang.sdk:jmessage:2.9.0' ;compile 'cn.jiguang.sdk:jcore:2.0.0';

3。初始化極光

JMessageClient.setDebugMode(true);
JMessageClient.init(this);

4。多說一句,因爲即時聊天是依靠長鏈接的,也就是俗稱的呼吸鏈接,所以,所有依靠極光功能的都必須在登錄的前提下!!!謹記(因長時間不使用的話極光im會掉線)。

5,。註冊極光賬號    可以前臺做,也可以後臺做,一般都是後臺做,因爲要進行用戶歸集~     前臺註冊的話極光有提供註冊的api

6,登錄   同上

7,發消息,極光發消息都需要到message這個對象,然後通過修改這個對象實現發文本、圖片、自定義消息之類的功能。

8,收消息,  只要你寫了

//註冊接收消息事件
JMessageClient.registerEventReceiver(this);   

這個函數  就可以在onevent回調中獲取到各種離線,在線的消息~   

9,聊天曆史記錄    在下面這個對象中取!卸載APP的話,歷史記錄也會隨之消失~

mConv = JMessageClient.getSingleConversation(username);
if (mConv != null) {
    Log.e("mConv", "mConv存在");
} else {
    mConv = Conversation.createSingleConversation(username);
}

10,即時消息通知點擊需要用到這個receiver

public class NotificationClickEventReceiver {
    private Context mContext;
    public NotificationClickEventReceiver(Context context) {
        mContext = context;
        //註冊接收消息事件
        JMessageClient.registerEventReceiver(this);
    }


    public void onEvent(MessageEvent event) {
        Intent intent = new Intent();
        intent.setAction("refalsh");
        mContext.sendBroadcast(intent);
    }

        public void onEvent(NotificationClickEvent notificationClickEvent) {
        if (null == notificationClickEvent) {
            return;
        }
        Message msg = notificationClickEvent.getMessage();
        if (msg != null) {
            final UserInfo info = msg.getFromUser();
            JMessageClient.getUserInfo(info.getUserName(), new GetUserInfoCallback() {
                @Override
                public void gotResult(int i, String s, final UserInfo userInfo) {
                    //消息通知欄點擊doing
                }
            });


        }
    }
}

再小的細節就不說了   over

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章