融雲(RongClould)即時通訊的單人回話
阿新 • • 發佈:2019-02-11
實現融雲的單人會話大致步驟:
1.
將IMKitSDK作為moudle匯入工程中
2.
初始化:RongIM.init(this);
3.
建立與伺服器的連線,RongIM.connect();
4.
建立單聊的Activity,繼承FragmentActivity
5.
開啟單聊,RongIM.getInstance().startPrivateChat(getActivity(),"10086","hello");
下面我將仔細的講解整個過程:
1.開始之前,你要先建一個新的工程,下載IMKitSDK的包下來,並且解壓縮,(注意:
是IMKitSDK,不是IMLibSDK的),如果是新版本,只匯入IMKit的moudle可能會出錯,所以我下的是這個版本,這個直接匯入是沒有問題的。
需要的下載的SDK:
3.我們將下載的IMKit的包作為moudle匯入到我們新建的工程裡面
File---->new---->import moudle
然後選擇我們下載的包裡面的IMKit就可以了。(注意:我們還要在下面的地方新增依賴,否者我們是無法呼叫IMKit的SDK的)
4.
我們將上面的一切都做完後,Android Studio的左側目錄是這樣的
5。
接下來我們將申請到的APPKey新增到IMKit的AndroidMainifest.xml檔案中。(注意:不用新增到你自己的專案的AndroidMainifest.xml檔案中,重複新增會報錯)
6。
這都做完後,前期的準備已經做好了,我們開始初始化融雲SDK:
在我們的專案中新建一個類App繼承Application,(注意:App需要在AndroidManifest.xml中配置)
7。
建立與融雲的連線:RongIM.connect()
注意此處的Token為一個測試的Token,你需要換成你自己的Token,這個Token還需要與RONG_CLOUD_APP_KEY匹配。
選擇API除錯---------->獲取Token
填寫你的UserID,和name:
然後提交後就可以獲取一個測試用的Token
8。
獲取到的Token
連線的函式:
/**
* <>連線伺服器,在整個應用程式全域性,只需要呼叫一次,需要在{@link #init(Context) 之後呼叫}</>
* <>如果呼叫此介面遇到連線失敗,SDK會自動啟動重連線機制進行最多10次重連,分別是1,2,4,8,16,32,
* 64,128,256,512秒後,在這之後如果仍然沒有連線成功,還會在當檢測到裝置網路狀態變化時再次進行重連</>
* @param token 從伺服器獲取的使用者令牌(Token)
* @param callback 連接回調
* @param RongIM 客戶端核心類的例項
*/
private void connect(String token)
{
RongIM.connect(token1, new RongIMClient.ConnectCallback()
{
/**
* Token錯誤。可以從下面兩點檢查
* 1.Token是否過期,如果過期你需要向App Server重新請求一個Token
* 2.token對應的Appkey 和工程裡設定的appkey是否一致
*/
@Override
public void onTokenIncorrect()
{
}
/**
* 連線融雲成功
* @param s 當前token對應的使用者的id
*/
@Override
public void onSuccess(String s)
{
Log.d("onSuccess","onSuccess: "+s);
}
/**
* 連線融雲失敗
* @param errorCode 錯誤碼,可到官網 檢視錯誤碼對應的註釋
*/
@Override
public void onError(RongIMClient.ErrorCode errorCode)
{
Log.d("onSuccess","onSuccess userid: "+errorCode.getValue());
}
});
}
9。
開啟單聊介面:
10。這是開啟的單聊介面但是我們並沒有註冊Activity,所以我們要註冊一個活動
融雲IMKitSDK使用了Fragment作為會話列表和會話介面的元件,其優點是支援各種巢狀方式,更符合你的定製化需求。下面說明如何在Activity裡以靜態方式載入融雲Fragment
新建Activity:
佈局:
因為我們的Activity是採用的隱式Intent,所以要配置intent-filter:
(注意:將host換成我們自己的工程的包名)
好了這樣就完成了單聊介面的跳轉了。我們可以在融雲官方網站上試一試,發一個訊息過來。