美文网首页
融云即时通讯集成

融云即时通讯集成

作者: 程序_Yuan | 来源:发表于2018-07-21 22:15 被阅读0次

    前期准备

    注册开发者帐号

    开发者在集成融云即时通讯、实时网络能力前,需前往融云官方网站注册创建融云开发者帐号。

    得到自己的AppKey  

    注:(您创建完应用后,首先需要了解的是 App Key / Secret,它们是融云 SDK 连接服务器所必须的标识,每一个 App 对应一套 App Key / Secret。针对开发者的生产环境和开发环境,我们提供两套 App Key / Secret,两套环境的功能完全一致。您在应用最终上线前,使用开发环境即可。)

    然后下载如图融云IMKit SDK:

    下载来解压打开内容如下,注意:本次只完成单聊界面,所以不需要其他的组件,只需要用到红框里的IMKit和IMLib。

    接下来是SDK导入

    以 Module 形式导入前面下载的融云 SDK 里面的各个组件。

    打开您的工程, File -> New -> Import Module

    将以下两个组件依次导入:

    导入成功后进行关联:

    打开应用的 build.gradle,在 dependencies 中添加相应模块的依赖:compile project(':IMKit')

    如图: 

    打开 IMLib Module 的 AndroidManifest.xml 文件,把 meta-data RONG_CLOUD_APP_KEY 的值修改为您自己的 AppKey. 

    如图:

    然后去融云控制界面获得token值

    创建Application初始化建立连接:

    新建类命名为App

    public class App extends Application {

    @Override

        public void onCreate() {

            super.onCreate();

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

            }

    }

    在清单文件中添加:

    android:name=".App"

    然后新建ConversationActivity类加载聊天布局

    public class ConversationActivity extends FragmentActivity {

        @Override

        public void onCreate(Bundle savedInstanceState){         super.onCreate(savedInstanceState);

            setContentView(R.layout.conversation);

            }

    }


    ConversationActivity.xml:

    <fragment

        android:id="@+id/fragment_chat"

        android:name="io.rong.imkit.fragment.ConversationFragment"

        android:layout_width="match_parent"

        android:layout_height="match_parent"/>


    然后注册ConversationActivity:

    然后在你想要进行聊天界面跳转的类中设置点击事件,这时之前获取的token值就有用了

    public class MainActivity extends AppCompatActivity {

        @Override

        protected void onCreate(@Nullable  Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_person_page);

            String token1 = "rbW1M3a2kTFlmiSna6F6uanP3sgRHLIipG/7iAV1kVlae3IDN/15hIl5INo2LEXGpAO/MxdP14Khdw8u5NV2+A==";

            connect(token1);

        }

        private void connect(String token) {

            RongIM.connect(token, new RongIMClient.ConnectCallback() {

                @Override

                public void onTokenIncorrect() {

                    Log.e("LoginActivity", "--onTokenIncorrect");

                }

                @Override

                public void onSuccess(String userid) {

                    findViewById(R.id.chat).setOnClickListener(new View.OnClickListener() {

                        @Override

                        public void onClick(View view) {

                            if(RongIM.getInstance() !=null){

                                RongIM.getInstance().startPrivateChat(PersonPageActivity.this,"123456","123456");

                            }

                        }

                    });

                }

                @Override

                public void onError(RongIMClient.ErrorCode errorCode) {

                    Log.e("LoginActivity", "--onError");

                }

            });

        }

    }

    注意这里用到之前的token值;

    还有这两处是之前获取token值的时候设置的ID和用户名;

    这个类的布局,设置个控件id就好了,

    然后记得注册这个类

    然后运行,效果如图咯:

    相关文章

      网友评论

          本文标题:融云即时通讯集成

          本文链接:https://www.haomeiwen.com/subject/fzlkmftx.html