av一区二区三区在线观看_久久久久国产一区二区三区_伊人春色在线播放_欧美亚洲国产一区_九九热在线免费视频_久久视频国产

1、初始化及登陸

? 在程序入口初始化SDK并設(shè)置代理 - 代理類(lèi)設(shè)置最好放在didFinishLaunchingWithOptions中,代碼示例如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
	[ECDevice sharedInstance].delegate = [DeviceDelegateHelper sharedInstance];
	return YES;
}
                    

代理類(lèi)示例:
DeviceDelegateHelper.h文件

 //代理類(lèi).h文件如下   

import  //創(chuàng)建單例
import "ECDeviceHeaders.h" 
@interface DeviceDelegateHelper : NSObject

/**

 *@brief 獲取DeviceDelegateHelper單例句柄

 */

+(DeviceDelegateHelper*)sharedInstance; 

//代理類(lèi).m文件中需要實(shí)現(xiàn)ECDeviceDelegate的回調(diào)函數(shù),代碼示例如下:

import "DeviceDelegateHelper.h"
import "AppDelegate.h"
//如需使用IM功能,需實(shí)現(xiàn)ECChatDelegate類(lèi)的回調(diào)函數(shù)。

//如需使用實(shí)時(shí)音視頻功能,需實(shí)現(xiàn)ECVoIPCallDelegate類(lèi)的回調(diào)函數(shù)。

//如需使用音視頻會(huì)議功能,需實(shí)現(xiàn)ECMeetingDelegate類(lèi)的回調(diào)函數(shù)。

                    

DeviceDelegateHelper.m文件

第一步:創(chuàng)建單例方法

+(DeviceDelegateHelper*)sharedInstance

{

    static DeviceDelegateHelper *devicedelegatehelper;

    static dispatch_once_t devicedelegatehelperonce;

    dispatch_once(&devicedelegatehelperonce, ^{

        devicedelegatehelper = [[DeviceDelegateHelper alloc] init];  

    });

    return devicedelegatehelper;

} 

第二步:連接云通訊的服務(wù)平臺(tái),實(shí)現(xiàn)ECDelegateBase代理的方法

/**

 @brief 連接狀態(tài)接口

 @discussion 監(jiān)聽(tīng)與服務(wù)器的連接狀態(tài) V5.0版本接口

 @param state 連接的狀態(tài)

 @param error 錯(cuò)誤原因值

 */

-(void)onConnectState:(ECConnectState)state failed:(ECError*)error {

    switch (state) {

        case State_ConnectSuccess://連接成功

            [[NSNotificationCenter defaultCenter] postNotificationName:KNOTIFICATION_onConnected object:[ECError errorWithCode:ECErrorType_NoError]];

            break;

        case State_Connecting://正在連接

            [[NSNotificationCenter defaultCenter] postNotificationName:KNOTIFICATION_onConnected object:[ECError errorWithCode:ECErrorType_Connecting]];

            break;

        case State_ConnectFailed://失敗

            [[NSNotificationCenter defaultCenter] postNotificationName:KNOTIFICATION_onConnected object:error];

            break;

        default:

            break;

    }

}

第三步 :各功能回調(diào)函數(shù)實(shí)現(xiàn)

1. 如需使用im功能,需實(shí)現(xiàn)ECChatDelegate類(lèi)的回調(diào)函數(shù)。

/**

 @brief 客戶(hù)端錄音振幅代理函數(shù)

 @param amplitude 錄音振幅

 */

-(void)onRecordingAmplitude:(double) amplitude;

 

/**

 @brief 接收即時(shí)消息代理函數(shù)

 @param message 接收的消息

 */

-(void)onReceiveMessage:(ECMessage*)message;

 

/**

 @brief 離線消息數(shù)

 @param count 消息數(shù)

 */

-(void)onOfflineMessageCount:(NSUInteger)count;

 

/**

 @brief 需要獲取的消息數(shù)

 @return 消息數(shù) -1:全部獲取 0:不獲取

 */

-(NSInteger)onGetOfflineMessage;

 

/**

 @brief 接收離線消息代理函數(shù)

 @param message 接收的消息

 */

-(void)onReceiveOfflineMessage:(ECMessage*)message;

 

/**

 @brief 離線消息接收是否完成

 @param isCompletion YES:拉取完成 NO:拉取未完成(拉取消息失敗)

 */

-(void)onReceiveOfflineCompletion:(BOOL)isCompletion;

/**

 @brief 接收群組相關(guān)消息

 @discussion 參數(shù)要根據(jù)消息的類(lèi)型,轉(zhuǎn)成相關(guān)的消息類(lèi);

             解散群組、收到邀請(qǐng)、申請(qǐng)加入、退出群組、有人加入、移除成員等消息

 @param groupMsg 群組消息

 */

-(void)onReceiveGroupNoticeMessage:(ECGroupNoticeMessage *)groupMsg;

 

2.如需使用音視頻通話功能,需實(shí)現(xiàn)ECVoIPCallDelegate類(lèi)的回調(diào)函數(shù)。

/**

 @brief 有呼叫進(jìn)入

 @param callid      會(huì)話id

 @param caller      呼叫人

 @param callerphone 被叫人手機(jī)號(hào)

 @param callername  被叫人姓名

 @param calltype    呼叫類(lèi)型

 */

- (NSString*)onIncomingCallReceived:(NSString*)callid withCallerAccount:(NSString *)caller withCallerPhone:(NSString *)callerphone withCallerName:(NSString *)callername withCallType:(CallType)calltype;

 

/**

 @brief 呼叫事件

 @param voipCall 電話實(shí)體類(lèi)的對(duì)象

 */

- (void)onCallEvents:(VoIPCall*)voipCall;

 

/**

 @brief 收到dtmf

 @param callid 會(huì)話id

 @param dtmf   鍵值

 */

- (void)onReceiveFrom:(NSString*)callid DTMF:(NSString*)dtmf;

 

/**

 @brief 視頻分辨率發(fā)生改變

 @param callid       會(huì)話id

 @param voip         通訊號(hào)

 @param isConference NO 不是, YES 是

 @param width        寬度

 @param height       高度

 */

- (void)onCallVideoRatioChanged:(NSString *)callid andVoIP:(NSString *)voip andIsConfrence:(BOOL)isConference andWidth:(NSInteger)width andHeight:(NSInteger)height;

 

/**

 @brief 收到對(duì)方切換音視頻的請(qǐng)求

 @param callid  會(huì)話id

 @param requestType 請(qǐng)求音視頻類(lèi)型 視頻:需要響應(yīng) 音頻:請(qǐng)求刪除視頻(不需要響應(yīng),雙方自動(dòng)去除視頻)

 */

- (void)onSwitchCallMediaTypeRequest:(NSString *)callid withMediaType:(CallType)requestType;

 

/**

 @brief 收到對(duì)方應(yīng)答切換音視頻請(qǐng)求

 @param callid   會(huì)話id

 @param responseType 回復(fù)音視頻類(lèi)型

 */

- (void)onSwitchCallMediaTypeResponse:(NSString *)callid withMediaType:(CallType)responseType;

 

3.如需使用音視頻會(huì)議功能,需實(shí)現(xiàn)ECMeetingDelegate類(lèi)的回調(diào)函數(shù)。

/**

 @brief 實(shí)時(shí)對(duì)講通知消息

 @param msg 實(shí)時(shí)對(duì)講消息

 */

-(void)onReceiveInterphoneMeetingMsg:(ECInterphoneMeetingMsg *)msg;

 

/**

 @brief 語(yǔ)音群聊通知消息

 @param msg 語(yǔ)音群聊消息

 */

-(void)onReceiveMultiVoiceMeetingMsg:(ECMultiVoiceMeetingMsg *)msg;

 

//多路視頻通知消息

-(void)onReceiveMultiVideoMeetingMsg:(ECMultiVideoMeetingMsg *)msg;

 

//有會(huì)議呼叫邀請(qǐng)。邀請(qǐng)用戶(hù)時(shí),呼叫回調(diào)接口,與點(diǎn)對(duì)點(diǎn)外呼接口不一致,只有會(huì)議邀請(qǐng)才會(huì)回調(diào)這個(gè)接口,其他情況均使用點(diǎn)對(duì)點(diǎn)呼叫回調(diào)接口

-(NSString*)onMeetingCallReceived:(NSString*)callid withCallType:(CallType)calltype withMeetingData:(NSDictionary*)meetingData;

                    

? 登錄—具體代碼如下:

//初始化登錄信息類(lèi)ECLoginInfo實(shí)例(ECLoginInfo已經(jīng)包含在SDK包里,不要用戶(hù)創(chuàng)建)
//默認(rèn)模式:對(duì)AppKey、AppToken和userName鑒權(quán)
ECLoginInfo * loginInfo = [[ECLoginInfo alloc] init];
loginInfo.username = @"自定義賬號(hào)";//用戶(hù)登錄app的用戶(hù)id即可。
loginInfo.appKey = @"appid";
loginInfo.appToken = @"apptoken";
loginInfo.authType = LoginAuthType_NormalAuth;//默認(rèn)方式登錄
loginInfo.mode = LoginMode_InputPassword;
[[ECDevice sharedInstance] login:loginInfo completion:^(ECError *error){
    if (error.errorCode == ECErrorType_NoError) {
       //登錄成功
    }else{
       //登錄失敗
    }
}];


//密碼模式:對(duì)AppKey、userName和userPassword鑒權(quán)
ECLoginInfo * loginInfo = [[ECLoginInfo alloc] init];
loginInfo.username = @"通訊賬號(hào)";
loginInfo.appKey = @"appid";
loginInfo. userPassword= @"通訊密碼";
loginInfo.authType = LoginAuthType_PasswordAuth;//密碼方式登錄
loginInfo.mode = LoginMode_InputPassword;
[[ECDevice sharedInstance] login:loginInfo completion:^(ECError *error){
    if (error.errorCode == ECErrorType_NoError) {
       //登錄成功
    }else{
       //登錄失敗
    }
}];


// 鑒權(quán)模式:MD5 Token認(rèn)證方式,服務(wù)器認(rèn)證appKey、username、timestamp、MD5Token字段
     * (該鑒權(quán)方式是最安全的方式,用戶(hù)在自己的服務(wù)器根據(jù)規(guī)則生成MD5,在不暴露apptoken的情況下進(jìn)行鑒權(quán),且生成的MD5 Token在平臺(tái)上有失效時(shí)間)

ECLoginInfo * loginInfo = [[ECLoginInfo alloc] init];
loginInfo.username = @"自定義賬號(hào)";
loginInfo.appKey = @"appid";
loginInfo.timestamp = "時(shí)間戳";//yyyyMMddHHmmss 
loginInfo.MD5Token = "MD5串";//MD5(appid+username+timestamp+apptoken)
loginInfo.authType = LoginAuthType_MD5TokenAuth;// 鑒權(quán)模式方式登錄
loginInfo.mode = LoginMode_InputPassword;
[[ECDevice sharedInstance] login:loginInfo completion:^(ECError *error){
    if (error.errorCode == ECErrorType_NoError) {
       //登錄成功
    }else{
       //登錄失敗
    }
}];

                    

登錄環(huán)境:
登錄環(huán)境分為:生產(chǎn)(正式)環(huán)境和沙盒環(huán)境。主要是推送證書(shū)不一樣。如果你是在開(kāi)發(fā)環(huán)境注冊(cè)的推送,相對(duì)應(yīng)就需要選擇在沙盒環(huán)境上登錄;如果你是生產(chǎn)環(huán)境注冊(cè)的推送,相對(duì)應(yīng)就需要選擇在生產(chǎn)(正式)環(huán)境上登錄。

注:提供此方法僅用于客戶(hù)測(cè)試IOS離線推送功能,在測(cè)試完成后請(qǐng)及時(shí)去掉,防止環(huán)境不同導(dǎo)致的通信障礙。

功能:切換服務(wù)器環(huán)境

調(diào)用登錄接口前,調(diào)用該接口切換服務(wù)器環(huán)境;不調(diào)用該函數(shù),默認(rèn)使用的是生產(chǎn)環(huán)境;

參數(shù):isSandBox 是否沙盒環(huán)境

      是否成功 0:成功 非0失敗

-(NSInteger)SwitchServerEvn:(BOOL)isSandBox;

                    
主站蜘蛛池模板: 久久91 | 国产亚洲日本精品 | 精品久久一区二区三区 | 真人女人一级毛片免费播放 | 午夜精品久久久久久久星辰影院 | 国产日韩欧美在线观看 | www免费视频 | 91中文字幕在线观看 | 一级做a爰片性色毛片 | 精品欧美一区二区三区久久久 | 99久久免费精品国产男女高不卡 | 国产在线播| 国产乱码精品1区2区3区 | 欧美日韩精品一区二区 | 九九精品久久久 | 精品久久久久久久 | 日韩在线视频一区 | 91亚洲国产成人精品一区二三 | 国产精品综合 | 无码一区二区三区视频 | 91久久久久久久久久久 | 青青99| 久久网一区二区 | 国产精品夜色一区二区三区 | 91中文字幕在线观看 | 国产95在线 | 玖玖操 | 日韩在线欧美 | 久草网站 | 久久久久久久久久久久一区二区 | 欧美日韩一区二区三区四区五区 | 亚洲欧美视频一区 | 欧美日韩一区在线 | 精品电影 | 午夜免费av | 精品三级在线观看 | 天天操夜夜爽 | 男女羞羞视频在线免费观看 | 青娱乐av| 国产成人小视频 | 国产东北一级毛片 |