Android即时通讯——融云——基本环境搭建(坑很多)

进入官网,注册

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,当前前提是你把这两个先解压出来。在你import的过程中,可能会提示你需要更新build tools reversion ,点击更新就是了


接下来项目是这样的

Android即时通讯——融云——基本环境搭建(坑很多)_第3张图片


在你的app module下添加依赖

compile project(':IMKit')


打开 IMLib Module 的 AndroidManifest.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好。

你可能感兴趣的:(Android)