SDK 基础功能
EMClient 初始化
EMClient是IM服务的入口,可以直接调用EMClient的接口进行相应地操作。EMClient的初始化操作如下:
void Awake ()
{
EMClient.Instance.Init ();
}
注册、登录及登出
调用EMClient实例的CreateAccount()、Login()、Logout()接口可以实现注册、登录、登出功能。
注册的示例:
regBtn.onClick.AddListener (delegate() {
string nametext = username.text;
string pwdtext = password.text;
int ret = EMClient.Instance.CreateAccount(nametext,pwdtext);
if(ret == 0){
logText.text = "reg success";
}else{
logText.text = "reg error,code="+ret;
}
});
登录的示例:
loginBtn.onClick.AddListener (delegate() {
string nametext = username.text;
string pwdtext = password.text;
EMBaseCallback cb = new EMBaseCallback();
cb.onSuccessCallback = () => {
logText.text = "login success";
SceneManager.LoadScene("MainScene");
};
cb.onProgressCallback = (p,s) => {
logText.text = ("prograss="+p+",status="+s);
};
cb.onErrorCallback = (c,m) => {
logText.text = ("Err code="+c+",msg="+m);
};
EMClient.Instance.Login(nametext,pwdtext,cb);
});
登出的示例:
logoutBtn.onClick.AddListener (delegate() {
EMBaseCallback cb = new EMBaseCallback();
cb.onSuccessCallback = () => {
logText.text = "logout success";
};
cb.onProgressCallback = (p,s) => {
logText.text = ("prograss="+p+",status="+s);
};
cb.onErrorCallback = (c,m) => {
logText.text = ("Err code="+c+",msg="+m);
};
EMClient.Instance.Logout(true,cb);
});
注册连接状态监听
当掉线时,SDK 会自动重连,无需进行任何操作,通过注册连接监听来知道连接状态。 * 在聊天过程中难免会遇到网络问题,在此 SDK 为您提供了网络监听接口,实时监听。 * 可以根据 onDisconnectedCallback 返回的 error 判断原因。
EMConnListenerCallback connCb = new EMConnListenerCallback ();
connCb.onConnectionCallback = () => {
logText.text = "Connected!";
};
connCb.onDisconnectedCallback = (code) => {
logText.text = "Disconnected! code=" + code;
};
EMClient.Instance.connListenerCallback = connCb;