1. 程式人生 > >android 融雲客服接入,看這一個就行了!

android 融雲客服接入,看這一個就行了!

B了狗,整了三天終於整好了客服系統的demo,中途出了一大堆的問題,網上查詢各種資料,並且找論壇裡面的大神,實在是折騰的頭疼,避免再出現拖這麼久解決一個問題,特此記錄

app裡的build.gradle加入

implementation ‘cn.rongcloud.android:IMKit:2.8.6’
implementation ‘cn.rongcloud.android:IMLib:2.8.6’

defaultConfig {

ndk {
abiFilters ‘armeabi’, ‘armeabi-v7a’, ‘x86’, ‘x86_64’
}
}
}

main/libs資料夾下所有檔案

main/assets/pushDaemon

res/layout加入activity_ke_fu_rong.xml

<?xml version="1.0" encoding="utf-8"?>

加入KeFuActivityR

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;

public class KeFuActivityR extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ke_fu_rong);
}
}

清單檔案AndroidManifest.xml中

加入許可權


application節點裡加入

<intent-filter>
    <action android:name="android.intent.action.VIEW" />

    <category android:name="android.intent.category.DEFAULT" />

    <data
        android:host="你的包名"
        android:pathPrefix="/conversation/"
        android:scheme="rong" />
</intent-filter>

調起客服的activity加入
@Override
public void onResume() {
super.onResume();
/**
* 如果呼叫此介面遇到連線失敗,SDK 會自動啟動重連機制進行最多10次重連,分別是1, 2, 4, 8, 16, 32, 64, 128, 256, 512秒後。
* 在這之後如果仍沒有連線成功,還會在當檢測到裝置網路狀態變化時再次進行重連。
* @param token 從服務端獲取的使用者身份令牌(Token)。
* @return RongIMClient 客戶端核心類的例項。
/
RongIMClient.connect(網頁獲取的TOKEN, new RongIMClient.ConnectCallback() {
/
*
* Token 錯誤。可以從下面兩點檢查 1. Token 是否過期,如果過期您需要向 App Server 重新請求一個新的 Token
* 2. token 對應的 appKey 和工程裡設定的 appKey 是否一致
*/
@Override
public void onTokenIncorrect() {
LoggerUtils.e(TAG,“onTokenIncorrect()”);
Toast.makeText(MainActivity.this,“onTokenIncorrect()”,Toast.LENGTH_SHORT).show();
}

    /**
     * 連線融雲成功
     * @param userid 當前 token 對應的使用者 id
     */
    @Override
    public void onSuccess(String userid) {
                        LoggerUtils.e(TAG,"融雲.userid=" + userid);
        Toast.makeText(MainActivity.this,"融雲.userid=" + userid,Toast.LENGTH_SHORT).show();
    }

    /**
     * 連線融雲失敗
     * @param errorCode 錯誤碼,可到官網 檢視錯誤碼對應的註釋
     */
    @Override
    public void onError(RongIMClient.ErrorCode errorCode) {
                        LoggerUtils.e(TAG,"融雲.onError=" + errorCode.getValue());
        Toast.makeText(MainActivity.this,"融雲.onError=" + errorCode.getValue(),Toast.LENGTH_SHORT).show();
    }
});

}

onCreate方法裡
//調客服
//首先需要構造使用客服者的使用者資訊
CSCustomServiceInfo.Builder csBuilder = new CSCustomServiceInfo.Builder();
CSCustomServiceInfo csInfo = csBuilder.nickName(“融雲”).build();
/**

  • 啟動客戶服聊天介面。
  • @param context 應用上下文。
  • @param customerServiceId 要與之聊天的客服 Id。
  • @param title 聊天的標題,如果傳入空值,則預設顯示與之聊天的客服名稱。
  • @param customServiceInfo 當前使用客服者的使用者資訊。{@link io.rong.imlib.model.CSCustomServiceInfo}
    */
    RongIM.getInstance().startCustomerServiceChat(MainActivity.this, “申請好的客服ID”, “線上客服”,csInfo);

完成

注:
確保融雲開通客服功能(智齒客服)
獲取到客服ID

有不懂的地方歡迎一起討論!共同進步!