2.1기본설정
2.1.1로그 출력 여부 설정
로그 출력 여부를 설정한다.
kr.co.nexus.lib.common.util.LogUtil public static void setConfig(boolean isPrintLog, String tag, Logger logger)
- isPrintLog
true: 로그 출력, false: 로그 출력안함.
- tag
TAG 문자열 (Not null)
- logger
SLF4J Logger Object
boolean isPrintLog = true; String tag = "WAiV"; Logger logger = null; LogUtil.setConfig(isPrintLog, tag, logger);
2.1.2Noitfication 설정
WebRTCLib 에서 사용되는 Foreground 서비스에 연동되는 Noitfication 을 설정.
Noitfication을 생성하여 설정하지 않는 경우 WebRTCLib 내에서 Noitfication을 자동 생성하여 사용한다.
kr.co.nexus.webrtclib.Waiv public static Notification makeDefaultNoti(Context context) kr.co.nexus.webrtclib.Waiv public static void setNotification(int id, Notification notification) throws NullPointerException
int notiId = 12345; Notification foregroundServiceNoti = Waiv.makeDefaultNoti(MainActivity.this); Waiv.setNotification(notiId, foregroundServiceNoti);
2.1.3Callback 이벤트 수신용 클래스 설정
라이브러리 시작 후 바로 Callback 이벤트를 받기 위해 수신 받을 클래스를 등록한다.
해당 내용은 Callback 항목에서 다시 기술한다.
kr.co.nexus.webrtclib.Waiv public static void registerEvent(Object object)
Waiv.registerEvent(this);
2.2초기화 및 종료
2.2.1초기화
라이브러리 초기화 및 내부 처리용 서비스 시작한다.
앱 시작 시 한번만 실행한다.
kr.co.nexus.webrtclib.Waiv public static int start(Context context)
int resultCode = Waiv.start(getApplicationContext());
2.2.2종료
라이브러리 종료 및 내부 처리용 서비스를 종료처리 한다.
kr.co.nexus.webrtclib.Waiv public static int stop(Context context)
Waiv.stop(getApplicationContext());
2.3콜백
해당 기능은 otto eventBus 라이브러리를 사용하여 구현됨.
2.3.1이벤트 콜백 등록
이벤트를 받을 객체를 등록한다.
등록된 객체가 다수일 경우 이벤트 발생 시 모든 객체가 이벤트를 받을 수 있다.
등록 후 해제하지 않으면 해당 객체는 계속해서 이벤트를 받게된다.
kr.co.nexus.webrtclib.Waiv public static void registerEvent(Object object)
Waiv.registerEvent(this);
2.3.2이벤트 콜백 해제
등록된 객체를 해제한다.
kr.co.nexus.webrtclib.Waiv public static void unregisterEvent(Object object)
Waiv.unregisterEvent(this);
2.4로그인/로그아웃
2.4.1로그인
서버에 로그인을 요청한다. 로그인 처리 결과는 이벤트 콜백으로 확인 가능하다.
kr.co.nexus.webrtclib.Waiv public static int requestLogin(Context context, String sipServerUrl, String sipRealm, int serverReconnectCnt, int serverReconnectTerm, String id, String pw, String dn, String displayName, String userAgent, boolean isUseSub, String registerKind, String userId, String pushKey)
- String sipServerUrl
Web Server URL ex) ws://10.10.10.1:8060
- String sipRealm
Web RTC Server Domain ex) nexus.co.kr
- int serverReconnectCnt
server reconnect count, If 0, unlimited connection.
- int serverReconnectTerm
server reconnect term. The unit of time is milliseconds.
- String id
id
- String pw
password
- String dn
phone number
- String displayName
User Display Name
- String userAgent
Whether to use User.
- boolean isUseSub
Whether to use Subscribe.
- String registerKind
Register Kind(none, call, chat)
- String userId
User ID, Currently empty.
- String pushKey
FCM push token
- return
0: 요청성공, 0 미만: 오류코드
Context context = getApplicationContext(); String sipServerUrl= "ws://10.10.10.1:8060"; String sipRealm = "nexus.co.kr"; int serverReconnectCnt = 0; int serverReconnectTerm = 1000 * 5; String id = "1004"; String pw = "1234"; String dn = id; String displayName = id; String userAgent = null; boolean isUseSub = true; String registerKind = "call,chat"; String userId = ""; String pushKey = getFcmPushKey(); int resultCode = Waiv.requestLogin(Context context, sipServerUrl, sipRealm, serverReconnectCnt, serverReconnectTerm, id, pw, dn, displayName, userAgent, isUseSub, registerKind, userId, pushKey);
2.4.2재 로그인
재 로그인 처리를 한다. Push(전화수신) 수신 시 사용한다.
kr.co.nexus.webrtclib.Waiv public static int requestReLogin()
- return
0: 요청성공, 0 미만: 오류코드
int resultCode = Waiv.requestReLogin();
2.4.3로그아웃
로그 아웃 처리를 한다. 로그아웃 성공은 이벤트 콜백으로 확인 가능하다.
kr.co.nexus.webrtclib.Waiv public static int requestLogout()
- return
0: 요청성공, 0 미만: 오류코드
int resultCode = Waiv.requestLogout();
2.4.4로그인 여부
로그인 여부를 확인한다.
kr.co.nexus.webrtclib.Waiv public static int requestLogout()
- return
true: 레지상태(로그인), false: 레지해제상태(로그아웃)
boolean isRegistered = Waiv.isRegistered();
2.4.5중복 로그인 여부
중복 로그인 여부를 확인한다.
kr.co.nexus.webrtclib.call.event.WaivCallEvent public boolean isDuplicate()
- return
true: 중복로그인 발생, false: 중복로그인 아님.
@Subscribe public void onWaivCallEvent(WaivCallEvent waivCallEvent) { if (waivCallEvent.isDuplicate()) { // 앱 내에서 중복 로그인 처리. sendDuplicateEvent(); return; } // ... }
로그인 상태에서 Call 이벤트를 수신 시 isDuplicate 메소드를 사용하여 중복 로그인 여부를 판별한다.
2.5통화
2.5.1음성 전화걸기
음성 전화 걸기를 요청한다.
메소드 사용 시 아래 권한 필요
Manifest.permission.RECORD_AUDIO
kr.co.nexus.webrtclib.Waiv public static int requestMakeCallAudio(Activity activity, String callNumber)
- Activity activity
activity object
- String callNumber
발신할 상대방의 jid 값 또는 전화번호
- * return
0: 요청성공, 0 미만: 오류코드
int resultCode = Waiv.requestMakeCallAudio(MainActivity.this, callNumber);
2.5.2영상 전화걸기
영상 전화 걸기를 요청한다.
메소드 사용 시 아래 권한 필요
Manifest.permission.RECORD_AUDIO
Manifest.permission.CAMERA
kr.co.nexus.webrtclib.Waiv public static int requestMakeCallAudioVideo(Activity activity, String callNumber)
- Activity activity
activity object
- String callNumber
발신할 상대방의 jid 값 또는 전화번호
- * return
0: 요청성공, 0 미만: 오류코드
int resultCode = Waiv.requestMakeCallAudioVideo(MainActivity.this, callNumber);
2.5.3전화받기
전화받기를 처리한다.
kr.co.nexus.webrtclib.Waiv public static int requestAnswer()
- * return
0: 요청성공, 0 미만: 오류코드
int resultCode = Waiv.requestAnswer();
2.5.4전화끊기(전화거절)
전화 수신에 대해 끊기(거절) 처리한다.
kr.co.nexus.webrtclib.Waiv public static int requestHangup()
- * return
0: 요청성공, 0 미만: 오류코드
int resultCode = Waiv.requestHangup();
2.6통화중 기능
2.6.1통화 전환(blind transfer)
통화 중인 전화를 제3자에게 전환 처리 한다.
kr.co.nexus.webrtclib.Waiv public static int requestTransfer(String transferNumber)
- String transferNumber
전환할 대상의 jid 값 또는 전화번호
- * return
0: 요청성공, 0 미만: 오류코드
int resultCode = Waiv.requestTransfer(transferNumber);
2.6.2보류
통화중인 전화를 보류 시킨다.
kr.co.nexus.webrtclib.Waiv public static int requestHold()
- * return
0: 요청성공, 0 미만: 오류코드
int resultCode = Waiv.requestHold();
2.6.3보류 해제
보류 중인 전화를 정상으로 변경 시킨다.
kr.co.nexus.webrtclib.Waiv public static int requestResume()
- * return
0: 요청성공, 0 미만: 오류코드
int resultCode = Waiv.requestResume();
자신이 보류 시킨 상태를 해제 하는 것이다. 상대방이 보류 시킨것은 해제 할수 없다.
2.6.4DTMF
DTMF 를 INFO 로 전달한다.
kr.co.nexus.webrtclib.Waiv public static int requestDtmf(String message)
- String message
DTMF 로 전달할 정보 ( 0~9, #,* )
- * return
0: 요청성공, 0 미만: 오류코드
int resultCode = Waiv.requestDtmf(dtfmMessage);
2.6.5Mute
송화차단 처리를 요청한다.
kr.co.nexus.webrtclib.Waiv public static int requestMute(String type, boolean isMute)
- String type
"Audio" or "Video"
- boolean isMute
true(송화차단 설정) / false(송화차단 해제)
- * return
0: 요청성공, 0 미만: 오류코드
int resultCode = Waiv.requestMute("Audio", true);
2.6.6Speaker
스피커 활성화/비활성화 처리를 요청한다.
kr.co.nexus.webrtclib.Waiv public static void setSpeakerphoneOn(Context context, boolean isOn)
- Context context
context object
- boolean isOn
true(스피커 활성화) / false(스피커 비활성화)
int resultCode = Waiv.requestMute("Audio", true);
2.6.7카메라 전환
영상통화 중 전/후면 카메라 변경
kr.co.nexus.webrtclib.Waiv public static int requestChangeCamera()
- * return
0: 요청성공, 0 미만: 오류코드
int resultCode = Waiv.requestMute("Audio", true);
2.7채팅
채팅 요청시 응답은 아래 함수 구현을 통해서 받을수 있다.
@Subscribe
public void onWaiveChatEvent(WaivChatData waivChatData)
Square에서 만든 event bus형태의 Otto 라이브러리를 사용합니다.
2.7.1채팅방 리스트 요청
대화중인 채팅방 리스트를 요청한다. 방요청시 페이징 처리를 위해서 roomId 를 사용할수 있다.
kr.co.nexus.webrtclib.Waiv public static String requestChatRoomList(Context context, String invokeId, int limit, String roomId)
- Context context
Android Context
- String invokeId
응답시 받을 key 값(사용자 임의로 설정 가능, 응답시 동일한 값을 받음), "" 값을 넘길 경우 자동 생성
- int limit
요청할 방 개수
- String roomId
요청시 마지막으로 받은 Room id 값. 초기요청시는 ""
- * return
파라미터 invokeId로 넘긴 값을 받거나 자동 생성된 invoke id값을 받는다.
@Subscribe public void onWaiveChatEvent(WaivChatData waivChatData) { switch(waivChatData.getName()) { case "WaivChatRoom": { WaivChatRoom waivChatRoom = (WaivChatRoom) waivchatData; // waivChatRoom 객체 사용 - 아래 "WaivChatRoom Method Detail" 참조 break; } } }
WaivChatRoom Method Detail
· getInvokeId public String getInvokeId() invokeId를 조회한다. Returns: invokeId · getReplyCode public java.lang.String getReplyCode() 요청에 대한 응답 코드 Returns: "0" 일 경우 성공, 그외 값 에러, "201119" 일 경우 채팅룸 없음 · getCurrentCount public int getCurrentCount() 페이징 처리를 위한 현재 페이지 인덱스를 조회한다. Returns: 현재 인덱스 · getTotalDataCount public int getTotalDataCount() 페이징 처리를 위한 총 페이지 개수를 조회한다. Returns: 총 페이지 개수 · getRoomId public java.lang.String getRoomId() 채팅방 아이디를 조회한다. Returns: 채팅방 아이디 · getCreateDate public java.lang.String getCreateDate() 채팅방 생성일자를 조회한다. Returns: 채팅방 생성일자 · getModificationDate public java.lang.String getModificationDate() 채팅방 수정일자를 조회한다. Returns: 채팅방 수정일자 · getMemberCount public int getMemberCount() 채팅방의 멤버수를 조회한다. Returns: 채팅방 멤버수 · getMemberData public java.util.ArrayList<WaivChatMember> getMemberData() 채팅방의 멤버 리스트를 조회한다. Returns: 채팅방의 멤버 리스트 · isGroup public boolean isGroup() 채팅방이 1:1채팅 또는 멀티사용자채팅 여부를 조회한다. Returns: true 일 경우 멀티사용자채팅(1:N) · isNotify public boolean isNotify() 채팅방의 알림여부를 조회한다. Returns: true 일 경우 알림 ON · getRoomName public java.lang.String getRoomName() 채팅방의 이름을 조회한다. Returns: 채팅방 이름 · isMore public boolean isMore() 요청한 데이터 이후가 존재 여부를 조회 Returns: true 일 경우 데이터가 존재
2.7.2채팅방의 이전 채팅 리스트 요청
채팅 중인 채팅방의 이전 리스트를 요청한다.
kr.co.nexus.webrtclib.Waiv public static String requestChatMessageList(Context context, String invokeId, int limit, String roomId, String chatId)
- Context context
Android Context
- String invokeId
응답시 받을 key 값(사용자 임의로 설정 가능, 응답시 동일한 값을 받음), null or "" 일 경우 자동 생성
- int limit
요청할 채팅 리스트의 개수
- String roomId
채팅방의 room Id 값
- String chatId
채팅 리스트의 마지막 chat Id, 기본값은 ""
- * return
파라미터 invokeId로 넘긴 값을 받거나 자동 생성된 invoke id값을 받는다.
@Subscribe public void onWaivChatEvent(WaivChatData waivChatData) { switch(waivChatData.getName()) { case "WaivChatMessageSaved": { WaivChatMessageSaved waivChatMessageSaved = (WaivChatMessageSaved) waivChatData; // waivChatMessageSaved 객체 사용 // - 아래 "WaivChatMessageSaved Method Detail" 참조 break; } } }
WaivChatMessageSaved Method Detail
· getInvokeId public java.lang.String getInvokeId() invokeId를 조회한다. Returns: invokeId · getRoomId public java.lang.String getRoomId() 채팅방 아이디를 조회한다. Returns: 채팅방 아이디 · getCurrentCount public int getCurrentCount() 페이징 처리를 위한 현재 페이지 인덱스를 조회한다. Returns: 현재 인덱스 · getTotalCount public int getTotalCount() 페이징 처리를 위한 총 페이지 개수를 조회한다. Returns: 총 페이지 개수 · getWaivChatMessageList public java.util.ArrayList<WaivChatMessage> getWaivChatMessageList() 채팅 메시지 리스트를 조회한다. - 채팅 메시지에는 4가지 타입이 존재한다. > 1: 메시지, 2:초대, 3:방나가기, 4: 파일 Returns: 채팅 메시지 리스트
2.7.3채팅방 생성
채팅방을 생성한다. 단, 채팅방 생성시 채팅 메시지가 하나 이상 필요하다.
채팅방 생성시 방이름은 빈값이다. 필요시 requestChatRoomRename(Context context, String invokeId, String roomId, String name) (채팅방 이름변경) 함수를 이용할수 있다.
kr.co.nexus.webrtclib.Waiv public static String requestChatRoomCreate(Context context, String invokeId, ArrayList<WaivChatMember> chatMembers, String message)
- Context context
Android Context
- String invokeId
응답시 받을 key 값(사용자 임의로 설정 가능, 응답시 동일한 값을 받음), null or "" 일 경우 자동 생성
- ArrayList<WaivChatMember> chatMembers
채팅방에 참석할 사용자 id(내선번호) 의 리스트
- String message
보낼 채팅 메시지
- * return
파라미터 invokeId로 넘긴 값을 받거나 자동 생성된 invoke id값을 받는다.
kr.co.nexus.webrtclib.Waiv public static String requestChatRoomCreateFile(Context context, String invokeId, String fileURI, String fileName, String fileSize, ArrayList<WaivChatMember> waivChatMembers)
- Context context
Android Context
- String invokeId
응답시 받을 key 값(사용자 임의로 설정 가능, 응답시 동일한 값을 받음), null or "" 일 경우 자동 생성
- fileURI
file url
- fileName
file name
- fileSize
file size
- ArrayList<WaivChatMember> waivChatMembers
채팅방에 참석할 사용자 id(내선번호) 의 리스트
- String message
보낼 채팅 메시지
- * return
파라미터 invokeId로 넘긴 값을 받거나 자동 생성된 invoke id값을 받는다.
@Subscribe public void onWaivChatEvent(WaivChatData waivChatData) { switch(waivChatData.getName()) { case "WaivChatRoomCreate": { WaivChatRoomCreate waivChatRoomCreate = (WaivChatRoomCreate) waivChatData; // waivChatRoomCreate 객체 사용 // - 아래 "WaivChatRoomCreate Method Detail" 참조 break; } } }
WaivChatRoomCreate Method Detail
· getInvokeId public java.lang.String getInvokeId() invokeId를 조회한다. Returns: invokeId · getReplyCode public java.lang.String getReplyCode() 요청에 대한 응답 코드 Returns: "0" 일 경우 성공, 그외 값 에러 · getError public java.lang.String getError() 에러 발생 시 에러 내용 Returns: 에러 내용 · getRoomId public java.lang.String getRoomId() 생성된 채팅방 아이디를 조회한다. Returns: 채팅방 아이디
2.7.4채팅방 메시지 보내기 (message type=1)
채팅방에서 메시지 보내기
kr.co.nexus.webrtclib.Waiv public static String requestSendChatMessage(Context context, String invokeId, String roomId, String message)
- Context context
Android Context
- String invokeId
응답시 받을 key 값(사용자 임의로 설정 가능, 응답시 동일한 값을 받음), null or "" 일 경우 자동 생성
- String roomId
채팅방의 room Id 값, Not null
- String message
보낼 메시지 text
- * return
파라미터 invokeId로 넘긴 값을 받거나 자동 생성된 invoke id값을 받는다.
@Subscribe public void onWaivChatEvent(WaivChatData waivChatData) { switch(waivChatData.getName()) { case "WaivChatMessage": { WaivChatMessage waivChatMessage = (WaivChatMessage) waivChatData; // waivChatMessage 객체 사용 - 아래 "WaivChatMessage Method Detail 참조" break; } } }
2.7.5채팅방 초대 (message type=2)
채팅중의 채팅방에 사용자를 초대 (초대시는 백그라운드 알림은 발생하지 않는다)
kr.co.nexus.webrtclib.Waiv public static String requestChatMemberIn(Context context, String invokeId, String roomId, ArrayList<WaivChatMember> waivChatMembers)
- Context context
Android Context
- String invokeId
응답시 받을 key 값(사용자 임의로 설정 가능, 응답시 동일한 값을 받음), null or "" 일 경우 자동 생성
- String roomId
채팅방의 room Id 값, Not null
- ArrayList<WaivChatMember> waivChatMembers
사용자 ID 및 내선 배열 리스트
- * return
파라미터 invokeId로 넘긴 값을 받거나 자동 생성된 invoke id값을 받는다.
@Subscribe public void onWaivChatEvent(WaivChatData waivChatData) { switch(waivChatData.getName()) { case "WaivChatMessage": { WaivChatMessage waivChatMessage = (WaivChatMessage) waivChatData; // waivChatMessage 객체 사용 - 아래 "WaivChatMessage Method Detail 참조" break; } } }
2.7.6채팅방 나가기 (message type=3)
채팅중의 채팅방에서 나가기
kr.co.nexus.webrtclib.Waiv public static String requestChatMemberOut(Context context, String invokeId, String roomId, String userId)
- Context context
Android Context
- String invokeId
응답시 받을 key 값(사용자 임의로 설정 가능, 응답시 동일한 값을 받음), null or "" 일 경우 자동 생성
- String roomId
채팅방의 room Id 값, Not null
- String userId
자기자신 사용자 id 또는 내선
- * return
파라미터 invokeId로 넘긴 값을 받거나 자동 생성된 invoke id값을 받는다.
@Subscribe public void onWaivChatEvent(WaivChatData waivChatData) { switch(waivChatData.getName()) { case "WaivChatMessage": { WaivChatMessage waivChatMessage = (WaivChatMessage) waivChatData; // waivChatMessage 객체 사용 - 아래 "WaivChatMessage Method Detail 참조" break; } } }
2.7.7채팅방 이미지 보내기 (message type=4)
채팅방에서 이미지 보내기
kr.co.nexus.webrtclib.Waiv public static String requestSendChatFile(Context context, String invokeId, String roomId, String fileURI, String fileName, String fileSize, ArrayList<String> users)
- context
Context
- invokeId
응답시 받을 key 값(사용자 임의로 설정 가능, 응답시 동일한 값을 받음), null or "" 일 경우 자동 생성
- roomId
채팅방의 room Id 값, Not null
- fileURI
file url
- fileName
file name
- fileSize
file size
- users
파일을 수신받을 상대방 아이디* return
- 파라미터 invokeId로 넘긴 값을 받거나 자동 생성된 invoke id값을 받는다.
@Subscribe public void onWaivChatEvent(WaivChatData waivChatData) { switch(waivChatData.getName()) { case "WaivChatMessage": { WaivChatMessage waivChatMessage = (WaivChatMessage) waivChatData; // waivChatMessage 객체 사용 - 아래 "WaivChatMessage Method Detail 참조" break; } } }
WaivChatMessage Method Detail
· getInvokeId public java.lang.String getInvokeId() invokeId를 조회한다. Returns: invokeId · getReplyCode public java.lang.String getReplyCode() 요청에 대한 응답 코드 Returns: "0" 일 경우 성공, 그외 값 에러 · getError public java.lang.String getError() 에러 발생 시 에러 내용 Returns: 에러 내용 · getType public int getType() 채팅 메시지 타입을 조회한다. Returns: 메시지 타입(1: 메시지, 2:초대, 3:방나가기, 4: 파일) · getRoomId public java.lang.String getRoomId() 채팅방 아이디를 조회한다. Returns: 채팅방 아이디 · getMessageId public java.lang.String getMessageId() 채팅 메시지 아이디를 조회한다. Returns: 채팅 메시지 아이디 · getDate public java.lang.String getDate() 채팅 메시지 일자를 조회한다. Returns: 채팅 메시지 일자 · getUserId public java.lang.String getUserId() 메시지 타입에 해당하는 액션을 한 아이디를 조회한다. - Type(1: 메시지, 2:초대, 3:방나가기, 4: 파일) Returns: 아이디 · getMessage public java.lang.String getMessage() 메시지 내용을 조회한다. - type=1,2,3 사용 가능 Returns: 메시지 내용 · getInviteMembers public ArrayList<String> getInviteMembers() 채팅방 초대 멤버의 리스트를 조회한다. - type=2 일 경우만 사용 Returns: 채팅방 초대 멤버의 리스트 · getFileUri public java.lang.String getFileUri() 파일 URI 을 반환한다. - type=4 일경우 만 사용 Returns: 파일 URI · getFileName public java.lang.String getFileName() 파일 이름을 반환한다. - type=4 일경우 만 사용 Returns: 파일 이름 · getFileSize public long getFileSize() 파일 사이즈를 반환한다. - type=4 일경우 만 사용 Returns: 파일 사이즈 · getCurrentCount public int getCurrentCount() 페이징 처리를 위한 현재 페이지 인덱스를 조회한다. - WaivChatMessageSaved 에서 WaivChatMessage 가 리스트로 사용될 시 사용 Returns: 현재 인덱스 · getTotalCount public int getTotalCount() 페이징 처리를 위한 총 페이지 개수를 조회한다. - WaivChatMessageSaved 에서 WaivChatMessage 가 리스트로 사용될 시 사용 Returns: 총 페이지 개수 · isMore public int isMore() 요청한 데이터 이후가 존재 여부를 조회 - WaivChatMessageSaved 에서 WaivChatMessage 가 리스트로 사용될 시 사용 Returns: true 일 경우 데이터가 존재
2.7.8채팅방 이름 변경
채팅방의 이름을 지정할수 있다. 기본값은 빈값이다. 대화 상대방에게 보이는 채팅방 이름이랑은 무관하다.
kr.co.nexus.webrtclib.Waiv public static String requestChatRoomRename(Context context, String invokeId, String roomId, String name)
- Context context
Android Context
- String invokeId
응답시 받을 key 값(사용자 임의로 설정 가능, 응답시 동일한 값을 받음), null or "" 일 경우 자동 생성
- String roomId
채팅방의 room Id 값, Not null
- String name
변경할 채팅방 명
- * return
파라미터 invokeId로 넘긴 값을 받거나 자동 생성된 invoke id값을 받는다.
@Subscribe public void onWaivChatEvent(WaivChatData waivChatData) { switch(waivChatData.getName()) { case "WaivChatRoomRename": { WaivChatRoomRename waivChatRoomRename = (WaivChatRoomRename) waivChatData; // waivChatRoomRename객체 사용 - 아래 "WaivChatRoomRename Method Detail" 참조 break; } } }
WaivChatRoomRename Method Detail
· getInvokeId public java.lang.String getInvokeId() invokeId를 조회한다. Returns: invokeId · getReplyCode public java.lang.String getReplyCode() 요청에 대한 응답 코드 Returns: "0" 일 경우 성공, 그외 값 에러 · getError public java.lang.String getError() 에러 발생 시 에러 내용 Returns: 에러 내용 · getRoomId public java.lang.String getRoomId() 채팅방 아이디를 조회한다. Returns: 채팅방 아이디 · getRoomName public java.lang.String getRoomName() 채팅방 이름을 조회한다. Returns: 채팅방 이름
2.7.9채팅방 알림설정
채팅방의 알림 설정을 할수 있다. 채팅방 생성시 기본값은 true 이다. 채팅 상대방의 알림 설정이랑은 무관하다.
kr.co.nexus.webrtclib.Waiv public static String requestChatGroupNoti(Context context, String invokeId, String roomId, boolean isNotify)
- Context context
Android Context
- String invokeId
응답시 받을 key 값(사용자 임의로 설정 가능, 응답시 동일한 값을 받음), null or "" 일 경우 자동 생성
- String roomId
채팅방의 room Id 값, Not null
- boolean isNotify
알림 설정 true, false 값 (기본값은 true )
- * return
파라미터 invokeId로 넘긴 값을 받거나 자동 생성된 invoke id값을 받는다.
@Subscribe public void onWaivChatEvent(WaivChatData waivChatData) { switch(waivChatData.getName()) { case "WaivChatGroupNoti": { WaivChatGroupNoti waivChatGroupNoti = (WaivChatGroupNoti) waivChatData; // waivChatGroupNoti객체 사용 - 아래 "WaivChatGroupNoti Method Detail" 참조 break; } } }
WaivChatGroupNoti Method Detail
· getInvokeId public java.lang.String getInvokeId() invokeId를 조회한다. Returns: invokeId · getReplyCode public java.lang.String getReplyCode() 요청에 대한 응답 코드 Returns: "0" 일 경우 성공, 그외 값 에러 · getError public java.lang.String getError() 에러 발생 시 에러 내용 Returns: 에러 내용 · getRoomId public java.lang.String getRoomId() 채팅방 아이디를 조회한다. Returns: 채팅방 아이디 · isNotify public boolean isNotify() 알림 설정 여부 Returns: true 일 경우 알림 ON
2.8에러코드
kr.co.nexus.webrtclib.Const public static class ResultCode
public static class ResultCode { /** success */ public static final int SUCCESS = 0; public static class Error { // Common error codes. /** context is null */ public static final int COMMON_CONTEXT_IS_NULL = -9001; /** activity is null */ public static final int COMMON_ACTIVITY_IS_NULL = -9002; /** handler is null */ public static final int COMMON_HANDLER_IS_NULL = -9003; /** intent is null */ public static final int COMMON_INTENT_IS_NULL = -9004; /** exception occurred */ public static final int COMMON_EXCEPTION_OCCURRED = -9005; // Login data error code. /** sip Realm is empty */ public static final int LOGIN_DATA_EMPTY_SIP_REALM = -1001; /** sip ServerUrl is empty */ public static final int LOGIN_DATA_EMPTY_SIP_SERVER_URL = -1002; /** dn is empty */ public static final int LOGIN_DATA_EMPTY_DN = -1003; /** id is empty */ public static final int LOGIN_DATA_EMPTY_ID = -1004; /** password is empty */ public static final int LOGIN_DATA_EMPTY_PW = -1005; /** display name is empty */ public static final int LOGIN_DATA_EMPTY_DISPLAY_NAME = -1006; /** push key is empty */ public static final int LOGIN_DATA_EMPTY_PUSH_KEY = -1007; /** server reconnect count not initialized */ public static final int LOGIN_DATA_NOT_INITIALIZED_SERVER_RECONNECT_CNT = -1008; /** server reconnect term not initialized */ public static final int LOGIN_DATA_NOT_INITIALIZED_SERVER_RECONNECT_TERM = -1009; /** User Agent is empty */ public static final int LOGIN_DATA_EMPTY_USER_AGENT = -1010; /** register kind is empty */ public static final int LOGIN_DATA_EMPTY_REGISTER_KIND = -1011; /** sip ServerUrl parsing error. The host value was not obtained. */ public static final int LOGIN_DATA_SIP_SERVER_URL_PARSE_ERROR_HOST_NOT_OBTAINED = -1012; // error code in requestMakeCall. /** call number is empty */ public static final int REQUEST_MAKE_CALL_EMPTY_CALL_NUMBER = -2001; /** type is empty */ public static final int REQUEST_MAKE_CALL_EMPTY_TYPE = -2002; /** no have permission */ public static final int REQUEST_MAKE_CALL_NO_PERMISSION = -2003; /** unsupported type */ public static final int REQUEST_MAKE_CALL_UNSUPPORTED_TYPE = -2004; // error code in requestTransfer. /** transfer number is empty */ public static final int REQUEST_TRANSFER_EMPTY_TRANSFER_NUMBER = -2011; /** file name is empty */ public static final int FILE_NAME_EMPTY = -3001; /** file url is empty */ public static final int FILE_URL_EMPTY = -3002; /** file size is empty */ public static final int FILE_SIZE_EMPTY = -3003; } }