public class ClientCoreSDK
extends java.lang.Object
限定符和类型 | 字段和说明 |
---|---|
static boolean |
autoReLogin
是否在登陆成功后掉线时自动重新登陆线程中实质性发起登陆请求,true表示将在线程运行周期中正常发起,否则不发起
(即关闭实质性的重新登陆请求)。
|
static boolean |
DEBUG
true表示开启MobileIMSDK Debug信息在Logcat下的输出,否则关闭。
|
限定符和类型 | 方法和说明 |
---|---|
ChatBaseEvent |
getChatBaseEvent()
返回框架基础通信消息的回调事件通知实现对象(可能的通知有:登陆成功事件通知、掉线事件通知)
|
ChatMessageEvent |
getChatMessageEvent()
返回通用数据通信消息的回调事件通知实现对象引用(可能的通知有:收到聊天数据事件通知、服务端返回的错误信息事件通知等)。
|
java.lang.String |
getCurrentLoginExtra()
已过时。
请使用
getCurrentLoginInfo() 替代本方法。
返回登陆信息成功发出后被设置的登陆额外信息(其是由调用者自行设置,不设置则为null)。
因不保证服务端正确收到和处理了该用户的登陆信息,所以本字段因只在 connectedToServer ==true 时才有意义. |
net.x52im.mobileimsdk.server.protocal.c.PLoginInfo |
getCurrentLoginInfo()
用户登时提交到服务端的登陆信息。
|
java.lang.String |
getCurrentLoginToken()
已过时。
请使用
getCurrentLoginInfo() 替代本方法。
返回登陆信息成功发出后被设置的登陆token。
因不保证服务端正确收到和处理了该用户的登陆信息,所以本字段因只在 connectedToServer ==true 时才有意义. |
java.lang.String |
getCurrentLoginUserId()
已过时。
请使用
getCurrentLoginInfo() 替代本方法。
返回提交到服务端的唯一用户id。
因不保证服务端正确收到和处理了该用户的登陆信息,所以本字段应只在 connectedToServer ==true 时才有意义. |
static ClientCoreSDK |
getInstance()
取得本类实例的唯一公开方法。
|
MessageQoSEvent |
getMessageQoSEvent()
返回QoS质量保证机制的回调事件通知实现对象(可能的通知有:消息未成功发送的通知、消息已被对方成功收到的通知等)。
|
void |
init(android.content.Context _context)
初始化核心库.
|
boolean |
isConnectedToServer()
是否已成功连接到服务器(当然,前提是已成功发起过登陆请求后).
|
boolean |
isInitialed()
MobileIMSDK_X的核心框架是否已经初始化.
|
boolean |
isLoginHasInit()
当且仅当用户从登陆界面成功登陆后设置本字段为true,服务端反馈会话被注销或系统退出(登陆)时自动被设置为false。
|
void |
release()
释放MobileIMSDK框架资源统一方法。
|
void |
saveFirstLoginTime(long firstLoginTime)
用于首次登陆成功后,保存服务端返回的登陆时间(此时间将会随着完整登陆信息,在掉线重连时再次提交到服务端,服务端
可据此时间精确判定在多端、网络复杂性的情况下的互踢逻辑)。
|
void |
setChatBaseEvent(ChatBaseEvent chatBaseEvent)
设置框架基础通信消息的回调事件通知实现对象(可能的通知有:登陆成功事件通知、掉线事件通知)
|
void |
setChatMessageEvent(ChatMessageEvent chatMessageEvent)
设置通用数据通信消息的回调事件通知实现对象(可能的通知有:收到聊天数据事件通知、服务端返回的错误信息事件通知等)。
|
void |
setConnectedToServer(boolean connectedToServer)
是否已成功连接到服务器(当然,前提是已成功发起过登陆请求后).
|
void |
setCurrentLoginInfo(net.x52im.mobileimsdk.server.protocal.c.PLoginInfo currentLoginInfo)
保存用户登时提交到服务端的登陆信息,此信息将在掉线重连时自动再次提交到服务端(除此之外别无他用)。
|
ClientCoreSDK |
setLoginHasInit(boolean loginHasInit)
当且仅当用户从登陆界面成功登陆后设置本字段为true,服务端反馈会话被注销或系统退出(登陆)时自动被设置为false。
|
void |
setMessageQoSEvent(MessageQoSEvent messageQoSEvent)
设置QoS质量保证机制的回调事件通知实现对象(可能的通知有:消息未成功发送的通知、消息已被对方成功收到的通知等)。
|
public static boolean DEBUG
public static boolean autoReLogin
什么样的场景下,需要设置本参数为false?比如:上层应用可以在自已的节电逻辑中控制当网络长时断开时就不需要实质 性发起登陆请求了,因为 网络请求是非常耗电的。
本参数的设置将实时生效。
public static ClientCoreSDK getInstance()
依据作者对MobileIMSDK API的设计理念,本类目前在整个框架运行中是以单例的形式存活。
public void init(android.content.Context _context)
本方法被调用后, isInitialed()
将返回true,否则返回false。
注意:因Andriod系统在处理网络变动广播事件的特殊性,本方法应在MobileIMSDK 的登陆信息被发出前已被开发者调用完成。且越早被调用越好(如放在Application的onCreate()方法中或者登陆Activity的 onCreate()方法中)。具体原因详见:LocalDataSender.SendLoginDataAsync中由Jack Jiang编写的技术要点备忘录。
LocalDataSender.SendLoginDataAsync
public void release()
本方法建议在退出登陆(或退出APP时)时调用。调用时将尝试关闭所有
MobileIMSDK框架的后台守护线程并同设置核心框架init=false、
loginHasInit
=false、connectedToServer
=false。
public void setCurrentLoginInfo(net.x52im.mobileimsdk.server.protocal.c.PLoginInfo currentLoginInfo)
currentLoginInfo
- 登陆信息对象public net.x52im.mobileimsdk.server.protocal.c.PLoginInfo getCurrentLoginInfo()
public void saveFirstLoginTime(long firstLoginTime)
firstLoginTime
- 服务端返回的首次登陆时间(此时间为形如“1624333553769”的Java时间戳)@Deprecated public java.lang.String getCurrentLoginUserId()
getCurrentLoginInfo()
替代本方法。
返回提交到服务端的唯一用户id。
connectedToServer
==true 时才有意义.@Deprecated public java.lang.String getCurrentLoginToken()
getCurrentLoginInfo()
替代本方法。
返回登陆信息成功发出后被设置的登陆token。
connectedToServer
==true 时才有意义.@Deprecated public java.lang.String getCurrentLoginExtra()
getCurrentLoginInfo()
替代本方法。
返回登陆信息成功发出后被设置的登陆额外信息(其是由调用者自行设置,不设置则为null)。
connectedToServer
==true 时才有意义.public boolean isLoginHasInit()
public ClientCoreSDK setLoginHasInit(boolean loginHasInit)
loginHasInit
- 登陆是否初始化public boolean isConnectedToServer()
此“成功”意味着可以正常与服务端通信(可以近似理解为Socket正常建立),“不成功”意味着不能与服务端通信.
不成功的因素有很多:比如网络不可用、网络状况很差导致的掉线、心跳超时等.
本参数是整个MobileIMSDK框架中唯一可作为判断与MobileIMSDK服务器的通信是否正常的准确依据。
本参数将在收到服务端的登陆请求反馈后被设置为true,在与服务端的通信无法正常完成时被设置为false。
那么MobileIMSDK如何判断与服务端的通信是否正常呢? 判断方法如下:
public void setConnectedToServer(boolean connectedToServer)
connectedToServer
- 是否已成功连接到服务器public boolean isInitialed()
public void setChatBaseEvent(ChatBaseEvent chatBaseEvent)
chatBaseEvent
- 框架基础通信消息的回调事件通知实现对象引用public ChatBaseEvent getChatBaseEvent()
public void setChatMessageEvent(ChatMessageEvent chatMessageEvent)
chatMessageEvent
- 通用数据通信消息的回调事件通知实现对象引用public ChatMessageEvent getChatMessageEvent()
public void setMessageQoSEvent(MessageQoSEvent messageQoSEvent)
messageQoSEvent
- 通用数据通信消息的回调事件通知实现对象引用public MessageQoSEvent getMessageQoSEvent()