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

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

主頁(yè) > 服務(wù)與支持 > 開(kāi)發(fā)平臺(tái) > 客戶端SDK參考 > Android Native SDK > 會(huì)議 網(wǎng)絡(luò)變化時(shí)恢復(fù)會(huì)議

入門使用

網(wǎng)絡(luò)變化時(shí)恢復(fù)會(huì)議

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

網(wǎng)絡(luò)變化時(shí)恢復(fù)會(huì)議

描述

用戶正在會(huì)議中,用戶設(shè)備的網(wǎng)絡(luò)發(fā)生變化時(shí),應(yīng)用程序可以自動(dòng)恢復(fù)會(huì)議連接。

前提條件

用戶正在會(huì)議中,應(yīng)用程序檢測(cè)到IP地址變化。

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

圖1 網(wǎng)絡(luò)變化恢復(fù)會(huì)議流程

  1. 應(yīng)用程序檢查到IP地址變化,并獲取到有效IP,UI通過(guò)調(diào)用TsdkManager對(duì)象中的setConfigParam()方法設(shè)置最新的本地IP,配置本地ip地址的參數(shù)信息對(duì)象為TsdkLocalAddress。
    說(shuō)明: 

    若應(yīng)用程序期望SDK嘗試以最大能力自動(dòng)恢復(fù),需要將參數(shù)TsdkLocalAddress對(duì)象中的屬性isTryResume設(shè)置為1。

    代碼示例:

    //java code
    public int resetConfig(boolean isVpn)
    {
    	int ret;
    	String ipAddress = DeviceManager.getLocalIpAddress(isVpn);
    	if ("".equals(ipAddress) || localIpAddress.equals(ipAddress))
    	{
    		localIpAddress = ipAddress;
    		return -1;
    	}
    	localIpAddress = ipAddress;
    
    	TsdkLocalAddress localAddress = new TsdkLocalAddress();
    	localAddress.setIpAddress(localIpAddress);
    	localAddress.setIsTryResume(1);
    	ret = TsdkManager.getInstance().setConfigParam(localAddress);
    	if (ret != 0)
    	{
    		LogUtil.e(TAG, "resetConfig local ip is failed, return " + ret);
    	}
    	return ret;
    }
     
  2. 如果在當(dāng)前正在會(huì)議中,SDK自動(dòng)啟動(dòng)恢復(fù)處理,通過(guò)TsdkNotify類onEvtConfResumingInd()接口向UI上報(bào)會(huì)議恢復(fù)中通知,應(yīng)用程序UI應(yīng)記錄當(dāng)前狀態(tài),并提示用戶。
    說(shuō)明: 

    若不在會(huì)議中,則僅進(jìn)行嘗試恢復(fù)登錄處理。

    代碼示例:

    //java code
    @Override
    public void onEvtConfResumingInd(TsdkConference conference) {
    	LogUtil.i(TAG, "onEvtConfResumingInd notify.");
    	MeetingMgr.getInstance().handleConfResumingInd();
    }
     
  3. SDK通過(guò)TsdkNotify類的onEvtLoginResumingInd()接口向UI上報(bào)登錄恢復(fù)中通知,應(yīng)用程序UI應(yīng)記錄當(dāng)前狀態(tài),并提示用戶。
    說(shuō)明: 

    若在會(huì)議中,建議應(yīng)用程序僅提示“會(huì)議正在恢復(fù)中”。

    代碼示例:

    //java code
    @Override
    public void onEvtLoginResumingInd(long userId) {
    	LogUtil.i(TAG, "onEvtLoginResumingInd notify.");
    	LoginMgr.getInstance().handLoginResumingInd((int)userId);
    }
     
  4. SDK完成登錄恢復(fù)處理,通過(guò)TsdkNotify類的onEvtLoginResumeResult()接口向UI上報(bào)登錄恢復(fù)結(jié)果通知。
    說(shuō)明: 

    登錄狀態(tài)恢復(fù)過(guò)程中,SDK上報(bào)的過(guò)程事件通知與普通登錄處理相同?;謴?fù)過(guò)程若出現(xiàn)異常,則通過(guò)onEvtLoginResumeResult()方法上報(bào)原因。只有登錄恢復(fù)成功,SDK才會(huì)進(jìn)行會(huì)議恢復(fù)處理。

    代碼示例:

    //java code
    @Override
    public void onEvtLoginResumeResult(long userId, TsdkCommonResult result) {
    	LogUtil.i(TAG, "onEvtLoginResumeResult notify.");
    	LoginMgr.getInstance().handLoginResumeResult(result);
    }
     
  5. SDK完成會(huì)議恢復(fù)處理,通過(guò)TsdkNotify類的onEvtConfResumeResult()接口向UI上報(bào)會(huì)議恢復(fù)結(jié)果通知,應(yīng)用程序刷新信息并提示用戶。
    說(shuō)明: 
    • 若會(huì)議恢復(fù)成功,onEvtConfResumeResult()事件攜帶的信息中,"TsdkConference"中的呼叫call對(duì)象以及與會(huì)者列表attendeeList會(huì)更新,應(yīng)用程序應(yīng)對(duì)應(yīng)更新信息;TsdkResumeConfIndInfo中攜帶的"join_conf_ind_info"為重新加入會(huì)議的通知信息,與普通加入會(huì)議時(shí)攜帶的“加入會(huì)議通知信息”相同,應(yīng)用程序應(yīng)更新記錄相應(yīng)信息,若當(dāng)前為一個(gè)視頻會(huì)議,則需要重新綁定窗口信息。后繼過(guò)程與普通加入會(huì)議過(guò)程相同。
    • 若會(huì)議恢復(fù)失敗,onEvtConfResumeResult()事件攜帶會(huì)議對(duì)象信息和結(jié)果信息中,應(yīng)用程序UI應(yīng)該從會(huì)議界面退出,并清除應(yīng)用層記錄的相關(guān)會(huì)議信息。

    代碼示例:

    //java code
    @Override
    public void onEvtConfResumeResult(TsdkConference conference, TsdkCommonResult result, TsdkResumeConfIndInfo info) {
    	LogUtil.i(TAG, "onEvtConfResumeResult notify.");
    	MeetingMgr.getInstance().handleConfResumeResult(conference, result, info);
    }
     

注意事項(xiàng)

若SDK在首次上報(bào)的onEvtConfResumingInd事件60秒內(nèi),未正?;謴?fù)會(huì)議,SDK會(huì)自動(dòng)放棄恢復(fù)。