暖暖视频免费观**,国产免费美女被艹视频,毛片一级毛片,不卡三级

智慧服務(wù),成就美好體驗(yàn) 項(xiàng)目咨詢

主頁(yè) > 服務(wù)與支持 > 開發(fā)平臺(tái) > 客戶端SDK參考 > Android Native SDK > 登陸與注銷 登錄與注銷

入門使用

登錄與注銷

更新時(shí)間:2019-11-20

用戶登錄

描述

在使用CloudEC解決方案下的各類業(yè)務(wù)之前,需要向服務(wù)器完成登錄。不再使用業(yè)務(wù)時(shí)需注銷,確保業(yè)務(wù)接口使用的安全性。

說明: 

登錄成功后,SDK自動(dòng)按保活周期定時(shí)刷新鑒權(quán)憑證信息。

前提條件

已完成初始化。

業(yè)務(wù)流程

圖1 登錄處理流程 
  1. UI調(diào)用TsdkLoginManager的login()方法進(jìn)行登錄,參數(shù)為TsdkLoginParam類。包括用戶ID、鑒權(quán)類型、用戶帳戶和密碼(或Tiket)以及服務(wù)器信息。
    說明: 
    1. 用戶ID,由應(yīng)用程序生成的標(biāo)識(shí),用于關(guān)聯(lián)用戶帳戶。
    2. 如果用戶選擇使用“密碼鑒權(quán)”登錄,則鑒權(quán)類型取值為TSDK_E_AUTH_TYPE,帳戶的用戶名和密碼必需填寫;如果用戶選擇使用第三方認(rèn)證登錄,則鑒權(quán)類型取值為TSDK_E_AUTH_TICKET,帳戶的ticket值必須填寫,取值為第三方提供的token值。
    3. 服務(wù)器類型取值TSDK_E_SERVER_TYPE,暫僅支持TSDK_E_SERVER_TYPE_PORTAL。
    代碼示例:
    //Java code
    TsdkLoginParam tsdkLoginParam = new TsdkLoginParam();
    tsdkLoginParam.setUserId(1);
    tsdkLoginParam.setAuthType(TsdkAuthType.TSDK_E_AUTH_NORMAL);
    tsdkLoginParam.setUserName(loginParam.getUserName());
    tsdkLoginParam.setPassword(loginParam.getPassword());
    tsdkLoginParam.setServerAddr(loginParam.getServerUrl());
    tsdkLoginParam.setServerPort(loginParam.getServerPort());
    tsdkLoginParam.setServerVersion("");
    tsdkLoginParam.setServerType(TSDK_E_SERVER_TYPE_PORTAL);
    tsdkLoginParam.setUserTicket("");
    
    ret = TsdkManager.getInstance().getLoginManager().login(tsdkLoginParam);
    
     
  2. SDK收到服務(wù)器的鑒權(quán)登錄響應(yīng)后,向UI上報(bào)鑒權(quán)成功事件onEvtAuthSuccess。
    說明: 
    1. 如果鑒權(quán)失敗,將不能進(jìn)行下一步操作,也不會(huì)有業(yè)務(wù)帳號(hào)和配置信息上報(bào)。
    代碼示例:
    //Java code
    public void onEvtAuthSuccess(int userId, TsdkImLoginParam imLoginParam) {
        LogUtil.e(TAG, "authorize success.");
        // 啟動(dòng)IM的登錄
        if (TsdkManager.getInstance().getAppInfo().getSupportIm() == 1 && null != imLoginParam) {
            ImAccountInfo imAccountInfo = new ImAccountInfo();
            imAccountInfo.setAccount(imLoginParam.getAccount());
            imAccountInfo.setToken(imLoginParam.getToken());
            String[] MaaUri = imLoginParam.getMaaServerUri().split(":");
            imAccountInfo.setMaaServer(MaaUri[0]);
            imAccountInfo.setMaaServerPort(Integer.valueOf(MaaUri[1]));
            imAccountInfo.setPassword(imLoginParam.getPassword());
            imAccountInfo.setPushServer(imLoginParam.getPushServerUri());
    
            sendHandlerMessage(LoginEvent.LOGIN_E_EVT_AUTH_SUCCESS.getIndex(), imAccountInfo);
        }
    }
    
     
  3. SDK收到服務(wù)器的鑒權(quán)登錄響應(yīng)后,向UI上報(bào)VOIP帳號(hào)信息事件onEvtVoipAccountStatus。
    說明: 

    如果登錄成功,會(huì)上報(bào)帳號(hào)短號(hào)號(hào)碼,UI應(yīng)保存此號(hào)碼,以方便后續(xù)操作。

    代碼示例:
    //Java code
    public void onEvtVoipAccountStatus(int userId, TsdkVoipAccountInfo voipAccountInfo ) {
        LogUtil.e(TAG, "voip account status: " );
    
        this.sipNumber = voipAccountInfo.getNumber();
        if (!voipAccountInfo.getTerminal().equals("")) {
            this.terminal = voipAccountInfo.getTerminal();
        }
    }
    
     
  4. 登錄成功之后,SDK向UI上報(bào)登錄成功事件onEvtLoginSuccess,UI做相應(yīng)的界面處理。
    說明: 

    有時(shí)候會(huì)出現(xiàn)鑒權(quán)成功,但是voip登錄失敗的情況??尚薷某跏蓟瘯r(shí)的參數(shù)productName來(lái)解決。

    代碼示例:
    //Java code
    public void onEvtLoginSuccess(int userId) {
        LogUtil.i(TAG, "voip login success");
        this.loginEventNotifyUI.onLoginEventNotify(LoginConstant.LoginUIEvent.LOGIN_SUCCESS, userId, "voip login success");
    }
    
     

注意事項(xiàng)

無(wú)。

用戶主動(dòng)注銷

描述

不再使用業(yè)務(wù)時(shí)需注銷,確保業(yè)務(wù)接口使用的安全性。

前提條件

登錄成功。

業(yè)務(wù)流程

圖2 注銷處理流程 
  1. UI調(diào)用TsdkLoginManager的logout()方法發(fā)起注銷。
    代碼示例:
    //Java code
    public void logout() {
        int ret = TsdkManager.getInstance().getLoginManager().logout();
        if (ret != 0) {
            LogUtil.e(TAG, "login is failed, return " + ret);
        }
        ImMgr.getInstance().imLogout();
    }
    
     
  2. 登出成功之后,向UI上報(bào)登出成功事件onEvtLogoutSuccess。

注意事項(xiàng)

無(wú)。

服務(wù)器強(qiáng)制注銷

描述

不再使用業(yè)務(wù)時(shí)需注銷,確保業(yè)務(wù)接口使用的安全性。

前提條件

登錄成功。

業(yè)務(wù)流程

圖3 服務(wù)器強(qiáng)制注銷處理流程 
說明: 

用戶帳號(hào)在其他位置登錄時(shí),服務(wù)器會(huì)通知應(yīng)用程序注銷本地帳號(hào)。

  1. SDK收到服務(wù)器的強(qiáng)制登出通知消息后,向UI上報(bào)強(qiáng)制登出事件onEvtForceLogout。
  2. UI調(diào)用TsdkLoginManager的logout()方法完成登出過程。

注意事項(xiàng)

無(wú)。

斷網(wǎng)重連

應(yīng)用程序監(jiān)測(cè)到斷網(wǎng)重連,應(yīng)根據(jù)預(yù)先配置的策略確定是否自動(dòng)發(fā)起登錄流程,若預(yù)配置,則發(fā)起登錄流程,與普通的“登錄”流程相同。

密碼修改

描述

用戶可以通過該接口修改自己的帳號(hào)的密碼。

前提條件

登錄成功。

業(yè)務(wù)流程

圖4 修改密碼處理流程 
  1. UI調(diào)用TsdkLoginManager的modifyPassword()方法修改當(dāng)前登錄賬號(hào)密碼。
    代碼示例:
    //Java code
    public int modifyPwd(String newPwd, String oldPwd) {
        TsdkModifyPasswordParam modifyPasswordParam = new TsdkModifyPasswordParam(newPwd, oldPwd);
        int ret = TsdkManager.getInstance().getLoginManager().modifyPassword(modifyPasswordParam);
        if (ret != 0) {
            LogUtil.e(TAG, "modifyPwd is failed, return " + ret);
        }
    
        return ret;
    }
    
     
  2. SDK在收到服務(wù)器返回的密碼修改結(jié)果響應(yīng)后,通過TsdkNotify對(duì)象中的onEvtModifyPasswordResult()方法向UI上報(bào)密碼修改結(jié)果。

    代碼示例:

    //Java code
    @Override
    public void onEvtModifyPasswordResult(int userId, final TsdkCommonResult result) {
    	Log.i(TAG, "onEvtModifyPasswordResult notify.");
    	LoginMgr.getInstance().handModifyPasswordResult(result);
    }