被 com.juphoon.cloud.JCClientImpl 继承.

class  CreateParam
 
class  LoginParam
 

Public 成员函数

abstract String getAppkey ()
 
abstract void setDisplayName (@NonNull String displayName)
 
abstract String getDisplayName ()
 
abstract void setForeground (boolean foreground)
 
abstract String getUserId ()
 
abstract int getState ()
 
abstract CreateParam getCreateParam ()
 
abstract LoginParam getLoginParam ()
 
abstract boolean login (@NonNull String userId, @NonNull String password, @Nullable LoginParam loginParam)
 
abstract void setServerAddress (String serverAddress)
 
abstract String getServerAddress ()
 
abstract boolean logout ()
 
abstract int sendOnlineMessage (String userId, String content)
 

静态 Public 成员函数

static JCClient create (@NonNull Context context, @NonNull String appKey, @NonNull JCClientCallback callback, @Nullable CreateParam createParam)
 
static void destroy ()
 

静态 Public 属性

static final int STATE_NOT_INIT = 0
 
static final int STATE_IDLE = 1
 
static final int STATE_LOGINING = 2
 
static final int STATE_LOGINED = 3
 
static final int STATE_LOGOUTING = 4
 
static final int REASON_NONE = 0
 
static final int REASON_SDK_NOT_INIT = 1
 
static final int REASON_INVALID_PARAM = 2
 
static final int REASON_CALL_FUNCTION_ERROR = 3
 
static final int REASON_TIMEOUT = 5
 
static final int REASON_NETWORK = 6
 
static final int REASON_APPKEY = 7
 
static final int REASON_AUTH = 8
 
static final int REASON_NOUSER = 9
 
static final int REASON_SERVER_LOGOUT = 10
 
static final int REASON_ANOTHER_DEVICE_LOGINED = 11
 
static final int REASON_LOCAL_REQUEST = 12
 
static final int REASON_SEND_MESSAGE = 13
 
static final int REASON_SERVER_BUSY = 14
 
static final int REASON_SERVER_NOT_REACH = 15
 
static final int REASON_SERVER_FORBIDDEN = 16
 
static final int REASON_SERVER_UNAVAILABLE = 17
 
static final int REASON_DNS_QUERY = 18
 
static final int REASON_INTERNAL = 19
 
static final int REASON_NO_RESOURCE = 20
 
static final int REASON_NO_NONCE = 21
 
static final int REASON_INVALID_AUTH_CODE = 22
 
static final int REASON_TOKEN_MISMATCH = 23
 
static final int REASON_TOKEN_SIZE_INVALID = 24
 
static final int REASON_TOKEN_SECRET_NOT_FOUND = 25
 
static final int REASON_TOKEN_ANALYSIS_ERROR = 26
 
static final int REASON_TOKEN_VERSIGN_APPKEY_ERROR = 27
 
static final int REASON_TOKEN_ACCOUNTID_MISMATCH = 28
 
static final int REASON_TOKEN_EXPIRED = 29
 
static final int REASON_OTHER = 100
 
static final int LOG_LEVEL_DISABLE = 0
 
static final int LOG_LEVEL_ERROR = 1
 
static final int LOG_LEVEL_INFO = 2
 
static final int LOG_LEVEL_DEBUG = 3
 

详细描述

用于初始化sdk以及登录 Juphoon Cloud 平台

成员函数说明

◆ create()

static JCClient com.juphoon.cloud.JCClient.create ( @NonNull Context  context,
@NonNull String  appKey,
@NonNull JCClientCallback  callback,
@Nullable CreateParam  createParam 
)
inlinestatic

创建 JCClient 对象

JCClient 的所有接口函数,如无特殊说明,都建议在主线程调用

注解
  • 请确保在调用其他 API 前先调用该方法创建并初始化 JCClient 对象
  • 调用此方法创建 JCClient 对象后,期间没有调用过 destroy 方法销毁对象,然后又重复调用此方法,会直接返回第一次创建的 JCClient 对象
参数
context上下文句柄
appKey用户从 Juphoon Cloud 平台上创建应用获取的 AppKey 字符串,详见获取 appKey
callbackJCClientCallback 对象,用于回调相关通知
createParam创建参数,详细定义见 CreateParam。传 null 则使用默认值
返回
JCClient 对象
异常
context、appKey、JCClientCallback 任意参数传空就会抛出异常

◆ destroy()

static void com.juphoon.cloud.JCClient.destroy ( )
inlinestatic

销毁 JCClient 对象

该方法为同步调用,需要等待 JCClient 实例资源释放后才能执行其他操作,调用此方法后,你将无法再使用 JCSDK 的其它方法和回调。
此模块为基础模块,所以需要在销毁其他模块的对象后,再调用此方法来销毁 JCClient 对象。此外,我们 不建议 在 JCSDK 的回调中调用此方法销毁 JCClient 对象,有可能会出现崩溃。
如需在销毁后再次创建 JCClient 实例,需要等待 destroy 方法执行结束后再创建实例。

◆ getAppkey()

abstract String com.juphoon.cloud.JCClient.getAppkey ( )
abstract

获取Appkey

返回的Appkey是由 create 方法传入的

返回
Appkey

◆ setDisplayName()

abstract void com.juphoon.cloud.JCClient.setDisplayName ( @NonNull String  displayName)
abstract

设置自己的昵称

在发起呼叫、加入频道时、发送消息时,都会将自己的昵称发送给其他用户

注解
每次调用 create 方法初始化 SDK 后都需要重新设置
参数
displayName要设置的昵称

◆ getDisplayName()

abstract String com.juphoon.cloud.JCClient.getDisplayName ( )
abstract

获取自己的昵称

返回
自己的昵称

◆ setForeground()

abstract void com.juphoon.cloud.JCClient.setForeground ( boolean  foreground)
abstract

是否设置为前台

应用进入前台或进入后台都需要调用此方法进行设置。应用进入后台时调用此方法设置为后台,可以优化数据链路从而减少耗电量

参数
foreground是否设置为前台
  • true: 设置为前台
  • false: 设置为后台

◆ getUserId()

abstract String com.juphoon.cloud.JCClient.getUserId ( )
abstract

获得用户标识

返回的用户标识就是用户在调用 login 方法时传入的 userId 参数,需要注意的是只有用户状态为登录中或已登录才能获取到值,其他状态将返回 null

返回
用户标识

◆ getState()

abstract int com.juphoon.cloud.JCClient.getState ( )
abstract

获取当前登录状态

返回
当前登录状态:

◆ getCreateParam()

abstract CreateParam com.juphoon.cloud.JCClient.getCreateParam ( )
abstract

获取创建参数

返回的创建参数就是用户在调用 create 方法时传入的 CreateParam 参数,若用户在调用 create 方法时,CreateParam 传入了 null,则返回默认的 CreateParam 对象

返回
CreateParam 创建参数对象

◆ getLoginParam()

abstract LoginParam com.juphoon.cloud.JCClient.getLoginParam ( )
abstract

获取登录参数

返回的登录参数就是用户在调用 login 方法时传入的 LoginParam 参数,若用户在调用 login 方法时, LoginParam 传入了 null,则将返回默认的 LoginParam 对象。
需要注意的是只有用户状态为登录中或已登录时才能获取到值,其他状态将返回 null

返回
LoginParam 登录参数对象

◆ login()

abstract boolean com.juphoon.cloud.JCClient.login ( @NonNull String  userId,
@NonNull String  password,
@Nullable LoginParam  loginParam 
)
abstract

登录 Juphoon Cloud 平台

只有登录成功后才能进行平台上的各种业务

参数
userId用户名,长度在 64 字节以内的字符串。以下为支持的字符集范围(共 66 个字符):
  • 26 个小写英文字母 a-z
  • 26 个大写英文字母 A-Z
  • 10 个数字 0-9
  • '+','-','_','.'。另外 '-','_','.' 这三个字符不能处于用户名的第一位
password密码,不能为 null 或 "",长度不能超过 128 字符。免鉴权模式密码可以随意输入,Token 鉴权模式密码需要输入外部生成的 Token
loginParam登录参数,传 null 则按默认值。一般不需要设置,如需设置请询问客服,详细定义见 LoginParam
返回
调用是否成功
  • true:正常执行调用流程,登录结果通过 onLogin 通知
  • false:调用失败,不会收到 onLogin 通知

◆ setServerAddress()

abstract void com.juphoon.cloud.JCClient.setServerAddress ( String  serverAddress)
abstract

设置登录服务器地址

参数
serverAddress登录服务器地址,默认地址为 http:cn.router.justalkcloud.com:8080(国内环境)。如果是海外用户需要设置为 http:intl.router.justalkcloud.com:8080(国际环境)

◆ getServerAddress()

abstract String com.juphoon.cloud.JCClient.getServerAddress ( )
abstract

获取登录服务器地址

返回的登录地址就是用户在调用 setServerAddress 方法时传入的 serverAddress 参数,若用户未调用 setServerAddress 方法,将返回默认国内地址 http:cn.router.justalkcloud.com:8080

返回
登录服务器地址

◆ logout()

abstract boolean com.juphoon.cloud.JCClient.logout ( )
abstract

登出 Juphoon Cloud 平台

登出后不能进行平台上的各种业务

返回
调用是否成功
  • true:正常执行调用流程,登出结果通过 onLogout 通知
  • false:调用失败,不会收到 onLogout 通知

◆ sendOnlineMessage()

abstract int com.juphoon.cloud.JCClient.sendOnlineMessage ( String  userId,
String  content 
)
abstract

发送在线消息

消息发送结果通过 onOnlineMessageSendResult 通知

注解
  • 当前对方只有在线才能收到此消息
  • 此接口调用频次限制 100次/分钟
参数
userId对方的 userId
content要发送的消息内容
返回
  • >0:成功返回操作id,与回调中的 operationId 一致
  • -1:失败,不会触发消息发送结果回调

类成员变量说明

◆ STATE_NOT_INIT

final int com.juphoon.cloud.JCClient.STATE_NOT_INIT = 0
static

未初始化

◆ STATE_IDLE

final int com.juphoon.cloud.JCClient.STATE_IDLE = 1
static

未登录

◆ STATE_LOGINING

final int com.juphoon.cloud.JCClient.STATE_LOGINING = 2
static

登录中

◆ STATE_LOGINED

final int com.juphoon.cloud.JCClient.STATE_LOGINED = 3
static

登录成功

◆ STATE_LOGOUTING

final int com.juphoon.cloud.JCClient.STATE_LOGOUTING = 4
static

登出中

◆ LOG_LEVEL_DISABLE

final int com.juphoon.cloud.JCClient.LOG_LEVEL_DISABLE = 0
static

不打印日志

◆ LOG_LEVEL_ERROR

final int com.juphoon.cloud.JCClient.LOG_LEVEL_ERROR = 1
static

只打印 error 等级的日志

◆ LOG_LEVEL_INFO

final int com.juphoon.cloud.JCClient.LOG_LEVEL_INFO = 2
static

只打印 info 和 error 等级的日志

◆ LOG_LEVEL_DEBUG

final int com.juphoon.cloud.JCClient.LOG_LEVEL_DEBUG = 3
static

打印所有等级的日志


该类的文档由以下文件生成:
  • cloud/src/main/common/com/juphoon/cloud/JCClient.java