Androidインスタント通信-融雲-基本環境構築(穴が多い)

8309 ワード

公式サイトに登録する
http://www.rongcloud.cn/
コンソールにアクセスしてアプリケーションを作成する
ダウンロードエリアをクリック
Android即时通讯——融云——基本环境搭建(坑很多)_第1张图片
IMKit SDKをクリックしてダウンロード
このような圧縮パッケージを得る
Rong_Cloud_Android_IMKit_SDK_v2_8_24_Dev_fdc48.zip
Android即时通讯——融云——基本环境搭建(坑很多)_第2张图片
新しいアンドロイドプロジェクト(自信があれば直接プロジェクトに導入してもいい)、左上隅file new import module相前後import IMLib、IMKit、現在の前提はあなたがこの2つを先に解凍することです.importの過程でbuild tools reversionを更新する必要があることを示すかもしれませんが、更新をクリックすればいいです.
次のプロジェクトはこうです
Android即时通讯——融云——基本环境搭建(坑很多)_第3张图片
あなたのapp moduleの下で依存を追加します
compile project(':IMKit')

IMLib ModuleのAndroid Manifestを開きます.xmlファイル、meta-data RONG_CLOUD_APP_KEYの値は自分のAppKeyに変更されました.図:

アプリケーションのApp ModuleのAndroidManifest.xmlファイルで、FileProvider関連構成を追加し、android:authoritiesを「アプリケーションのパッケージ名.FileProvider」に変更します.アプリケーションパッケージ名はcom.后ろに何があるの?例えば私のcom.example.test
初期化
新しいAppクラスを作成し、Applicationから継承し、プロファイルで宣言します.
android:name=".App">
public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        /**
         * OnCreate         ,      ,          RongIM      Push       init。
         * io.rong.push     push     ,    。
         */
        if (getApplicationInfo().packageName.equals(getCurProcessName(getApplicationContext())) ||
                "io.rong.push".equals(getCurProcessName(getApplicationContext()))) {

            /**
             * IMKit SDK         
             */
            RongIM.init(this);
        }
        ItheimaHttp.init(this, "http://api.cn.ronghub.com");
    }
    /**
     *          
     *
     * @param context
     * @return    
     */
    public static String getCurProcessName(Context context) {

        int pid = android.os.Process.myPid();

        ActivityManager activityManager = (ActivityManager) context
                .getSystemService(Context.ACTIVITY_SERVICE);

        for (ActivityManager.RunningAppProcessInfo appProcess : activityManager
                .getRunningAppProcesses()) {

            if (appProcess.pid == pid) {
                return appProcess.processName;
            }
        }
        return null;
    }
}

Tokenの取得
コンソールに入り、アプリケーションに入り、
Android即时通讯——融云——基本环境搭建(坑很多)_第4张图片
左側のAPIをクリックしてデバッグします.
最初の項目を選択してtoken
Android即时通讯——融云——基本环境搭建(坑很多)_第5张图片
下に引いて3つの情報を入力するとtokenを取得できます.
最後に、あなたのMainActivityでお願いします.さっき手に入れたtokenを入れて、出力したuserIdを見てください.tokneを取得したばかりのときに入力したuserIdであれば、接続に成功したことを示します.
if (getApplicationInfo().packageName.equals(App.getCurProcessName(getApplicationContext()))) {
    RongIM.connect(token, new RongIMClient.ConnectCallback() {
        @Override
        public void onTokenIncorrect() {
        }
        @Override
        public void onSuccess(String userid) {
            Log.i("xbh",userid);
        }
        @Override
        public void onError(RongIMClient.ErrorCode errorCode) {
        }
    });
}

半分やったが、LeanCloudがいいことに気づいた.