上一篇文章,我们介绍了如何集成环信IM SDK:环信IM SDK使用(一):集成环信SDK及注意事项,后面的文章是在这个的基础上一步一步实现的,如果还有不清楚如何集成环信IM SDK的,请翻看上一篇文章。
下面我们开始介绍如何初始化环信IM SDK及如何进行登录和注册。
一、初始化环信SDK
为了保证我们进入app就可以及时收到消息,这就要求我们要将环信SDK初始化尽量靠前,一般而言,放在Application的onCreate()方法中初始化就可以。
@Override
public void onCreate() {
super.onCreate();
//初始化环信SDK
initSDK();
}
private void initSDK() {
//第二个参数不可以传入null
EMOptions options = new EMOptions();
EMClient.getInstance().init(this, options);
}
第一个参数为上下文,第二个参数为EMOptions,可以根据项目情况设置必要配置,但是不可以传入null。
具体EMOptions的配置,后续文章会做一个比较详细的举例。
二、注册和登录
环信IM SDK初始化完成以后,就可以进行注册和登录了。
1、注册
需要调用环信的注册接口createAccount(),需要传入两个参数,环信id及密码。
private void register() {
new Thread(()-> {
//用户名
String username = et_username.getText().toString().trim();
//密码
String password = et_password.getText().toString().trim();
......
try {
EMClient.getInstance().createAccount(username, password);
//注册成功后的处理逻辑
} catch (HyphenateException e) {
e.printStackTrace();
runOnUiThread(()-> {
Toast.makeText(RegisterActivity.this, "error:"+e.getDescription(), Toast.LENGTH_SHORT).show();
});
}
}).start();
}
需要注意的是,注册账号是耗时操作,需要在异步线程中进行。
2、登录
经过第一步注册成功后,就可以使用注册成功的账号进行登录了。
private void login() {
//环信id
String username = et_username.getText().toString().trim();
//密码
String password = et_password.getText().toString().trim();
EMClient.getInstance().login(username, password, new EMCallBack() {
@Override
public void onSuccess() {
//登录成功后的处理逻辑
}
@Override
public void onError(int i, String s) {
runOnUiThread(()-> {
Toast.makeText(LoginActivity.this, "error = "+s, Toast.LENGTH_SHORT).show();
});
}
@Override
public void onProgress(int i, String s) {
}
});
}
3、实际开发项目中的注册和登录
实际开发中,每个公司均有自己的用户体系,一般情况下,环信账号的注册及登录往往都是公司的后端通过调用接口完成的。
经过注册和登录后,您就拥有的一个环信账号,你就可以进行后续的添加好友,创建群组及加入群组,以及和你的好友进行即时通讯的操作了。
demo的地址在这里:EaseIMDemo
环信IM App的开源地址在这里:EaseIM