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
有不懂的地方歡迎一起討論!共同進步!