使用 SDK 进行呼叫之前,您需要首先进行注册或登录。在云视讯平台每个用户有唯一的账号标识。SDK 提供三方账号登录, 企业账号登录以及小鱼系统账号登录三种登录方式。
如果您的业务系统中已有用户账户系统并且希望您业务系统中的用户账户在云视讯平台有唯一的用户标识,以便后期对用户的音视频呼叫进行管理,您可以使用第三方账号登录方法进行登录。 您可以使用您的应用系统中的用户账号登录云视讯平台,登录成功后平台将返回当前账户在云视讯平台的呼叫号码,后期该号码将作为该账户的唯一标识,每次登录后均使用同一呼叫号码,因此建议您将您应用系统的用户账户与云视讯平台的呼叫号码建立一一对应的关系并进行保存,以便在后期的业务场景中使用。 如果当前登录的账户在云视讯平台不存在,则平台将会注册一个新账户并登录,如果已经存在则使用已存在的账户进行登录。
有效期内三方账号数量默认支持十万,数量如不满足需求请联系小鱼支持人员。
如果您已经在小鱼管理后台创建了账户并希望使用小鱼系统账户登录,您可以使用小鱼账号登录方法进行登录。 已创建的小鱼账号统一在小鱼管理后台进行管理,包含账号所属组织机构的管理。
调用 loginExternalAccount 方法,进行第三方账号登录,需要接收三个参数,其中包含:
登录状态变化请在“onLoginStateChanged”回调事件中进行监听。
调用 loginXYLinkAccount 方法,进行小鱼账号登录,需要接收两个参数,其中包含:
登录状态变化请在“onLoginStateChanged”回调事件中进行监听。
// 开始第三方登录
NemoSdkAdaptor::getInstance()->loginExternalAccount("extID", "extUserId", "displayName");
void NemoSdkAdaptor::onLoginStateChanged(SDKLoginState state, const XYString& code, const SDKLoginInfo& info/*only valid when state==LoggedIn*/)
{
QString errCode(code.str());
_isLogedIn = (errCode == SDKError_NoError && state == SDKLoginState_LoggedIn);
qDebug() << "qt onLoginState: state=" << state << ", error=" << errCode << ", uri=" << info.callUri.str() << ", uid : " << info.userId;
sigLoginResult(state, errCode, info);
const char*ch = info.callUri.str();
calluri = QString(QLatin1String(ch));
}
3.3.0及后续版本引入新的鉴权方式,sdk内部会在token即将过期时主动去刷新token, 应用层无感知, 如果收到token过期"XYSDK:974104", 则表明此次登录凭证已经过期, 此时您必须重新登录.