融云即时通讯集成

前期准备

注册开发者帐号

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

得到自己的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就好了,

然后记得注册这个类

然后运行,效果如图咯:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,545评论 25 709
  • //联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪 /**注意:先看效果图-->1.登录融云-->2.生...
    石虎132阅读 6,919评论 5 20
  • 第一次在公众号上发文章,仅仅只是记录自己的生活小事和一些日常感受,可能有小女儿情节的矫情可能有过于虚妄的看法,有什...
    leeali阅读 1,059评论 0 0
  • 本书是作者萨提亚·纳德拉担任微软第三任CEO3年后的一个回顾和一种总结。书的一开始,纳德拉首先回顾了他从一个印度孩...
    山水之滴阅读 2,578评论 0 1
  • 今天伊伊小朋友已经一岁八个月零24天了。也是午睡自己第一次起床下床穿鞋子开门走出屋子的日子,真的是棒棒的!
    Xuzhixiao阅读 838评论 1 0