融雲--快速集成融雲

以下步驟都是建立在項目已經導入 IMKit的基礎上的。

1、配置融雲APPKEY

打開 IMKit 的 AndroidManifest 找到 以下內容並且替換爲你自己的融雲APPKEY。

<meta-data
    android:name="RONG_CLOUD_APP_KEY"
    android:value="您自己的App Key" /> 

2、初始化融雲

在Application的onCreate()方法中加入:

 /**
   *  初始化
   */
   RongIM.init(this);

3、登錄的用戶連接到融雲服務器

首先在通過融雲 Server API 接口獲取 Token,然後再把 Token 傳入 connect 方法,開始連接服務器。在整個應用程序全局,只需要調用一次 connect 方法,SDK 會負責自動重連。

 /**
   * 建立與服務器的連接
   */
   RongIM.connect(token, new RongIMClient.ConnectCallback() {

   /**
     * Token 錯誤,在線上環境下主要是因爲 Token 已經過期,您需要向 App Server 重新請求一個新的 Token
     */
     @Override
     public void onTokenIncorrect() {
          Log.d("LoginActivity", "--onTokenIncorrect");
     }

     /**
       * 連接融雲成功
       * @param userid 當前 token
       */
       @Override
       public void onSuccess(String userid) {
          Log.d("LoginActivity", "--onSuccess" + userid);
          //您需要的操作
       }
       /**
         * 連接融雲失敗
         * @param errorCode 錯誤碼,可到官網 查看錯誤碼對應的註釋
         */
         @Override
         public void onError(RongIMClient.ErrorCode errorCode){
            Log.d("LoginActivity", "--onError" + errorCode);
         }
    });

4、配置會話列表

在項目中建一個Activity和xml文件。

public class ConversationListActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.conversationlist);
    }
  }
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment
        android:id="@+id/conversationlist"
        android:name="io.rong.imkit.fragment.ConversationListFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

注意:android:name 是固定的,fragment必須給一個id

在 AndroidManifest.xml 中配置 intent-filter:
融雲的會話列表和會話界面都需要接收 intent 並實現跳轉,比如收到通知或推送後,點擊通知欄可以跳轉到會話列表。因此您需要在 AndroidManifest.xml 中,您的會話列表 Activity 下面配置 intent-filter,其中,android:host 是您應用的包名,需要手動修改,其他請保持不變。

<!--會話列表-->
<activity
    android:name="您建立的會話列表Activity"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="stateHidden|adjustResize">

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

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

        <data
            android:host="您應用的包名"
            android:pathPrefix="/conversationlist"
            android:scheme="rong" />
    </intent-filter>
</activity>

5、啓動會話界面

完成以上配置後,即可啓動會話及會話列表界面,啓動界面操作必須在執行初始化 SDK 方法 init 及連接融雲服務器 connect 之後進行。

 /**
   * 啓動單聊
   * context - 應用上下文。
   * targetUserId - 要與之聊天的用戶 Id。
   * title - 聊天的標題,如果傳入空值,則默認顯示與之聊天的用戶名稱。
   */
   if (RongIM.getInstance() != null) {
     RongIM.getInstance().startPrivateChat(context , targetUserId , title);
 }

6、自定義廣播接收器

2.6.0 之後的版本必須自定義一個繼承 PushMessageReceiver 的廣播接收器,否則可能會導致點擊後臺通知沒有反應,或者收不到推送通知等問題。
點擊這裏

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