API 설명
구분 | 함수명 | 인자 | 설명 |
---|---|---|---|
설정 로드 |
setConfig |
tenantURL |
NF 접속 URL |
|
|
projectDetailURL |
설정 파일을 가져올 URL |
|
|
eumURL |
eum data 수집 URL |
|
|
delegate |
NetFunnel delegate 선언 view 위치 |
|
|
oneTimeCallback |
setConfig 가 성공적으로 설정 파일 로드한 후, 1회에 한 해 동작하는 콜백 함수 |
URL 기반 NF |
startManager |
URL 값 |
NF 콘솔에 등록한 URL 값 |
URL 기반 NF |
completeManager |
URL 값 |
NF 콘솔에 등록한 URL 값 |
Key 기반 NF |
NFStart |
projectKey |
세그먼트 등록시 NF 콘솔에 출력된 project 키 값 ex) service_1 |
|
|
segmentKey |
세그먼트 등록시 NF 콘솔에 출력된 segment 키 값 ex) serKey_1234 |
Key 기반 NF |
NFStop |
projectKey |
세그먼트 등록시 NF 콘솔에 출력된 project 키 값 ex) service_1 |
|
|
segmentKey |
세그먼트 등록시 NF 콘솔에 출력된 segment 키 값 ex) serKey_1234 |
Key 기반 NF (구간제어) |
NFStartSection |
projectKey |
세그먼트 등록시 NF 콘솔에 출력된 project 키 값 ex) service_1 |
|
|
segmentKey |
세그먼트 등록시 NF 콘솔에 출력된 segment 키 값 ex) serKey_1234 |
Key 기반 NF (구간제어) |
NFStopSection |
projectKey |
세그먼트 등록시 NF 콘솔에 출력된 project 키 값 ex) service_1 |
|
|
segmentKey |
세그먼트 등록시 NF 콘솔에 출력된 segment 키 값 ex) serKey_1234 |
delegate |
SurffyActionSuccess |
projectKey |
세그먼트 등록시 NF 콘솔에 출력된 project 키 값 ex) service_1 |
|
|
segmentKey |
세그먼트 등록시 NF 콘솔에 출력된 segment 키 값 ex) serKey_1234 |
|
|
retcode |
delegate 실행 시점의 요청의 결과 코드 |
delegate |
SurffyActionError |
projectKey |
진입 시 사용한 project 키 값 ex) service_1 |
|
|
segmentKey |
진입 시 사용한 segment 키 값 ex) serKey_1234 |
|
|
retcode |
delegate 실행 시점의 요청의 결과 코드 |
delegate |
SurffyActionCancel |
projectKey |
진입 시 사용한 project 키 값 ex) service_1 |
|
|
segmentKey |
진입 시 사용한 segment 키 값 ex) serKey_1234 |
|
|
retcode |
delegate 실행 시점의 요청의 결과 코드 |
delegate |
SurffyActionBypass |
projectKey |
진입 시 사용한 project 키 값 ex) service_1 |
|
|
segmentKey |
진입 시 사용한 segment 키 값 ex) serKey_1234 |
|
|
retcode |
delegate 실행 시점의 요청의 결과 코드 |
delegate |
SurffyActionBlock |
projectKey |
진입 시 사용한 project 키 값 ex) service_1 |
|
|
segmentKey |
진입 시 사용한 segment 키 값 ex) serKey_1234 |
|
|
retcode |
delegate 실행 시점의 요청의 결과 코드 |
delegate |
SurffyCompleteSuccess |
projectKey |
키 반납 호출한 project 키 값 ex) service_1 |
|
|
segmentKey |
키 반납 호출한 segment 키 값 ex) serKey_1234 |
delegate |
SurffyCompleteError |
projectKey |
키 반납 호출한 project 키 값 ex) service_1 |
|
|
segmentKey |
키 반납 호출한 segment 키 값 ex) serKey_1234 |
FAQ
Q. Delegate 에서 주어지는 retcode란 무엇이고, 언제 필요한가요?
A. retcode (Return Code, 리턴코드) 란 가상 대기 요청 시, 넷퍼넬 서버로부터 받는 결과 코드입니다. 리턴코드와 delegate 의 조합으로 원하시는 로직을 정의할 수 있습니다. 진입/대기중 에러가 나는 경우 호출되는 콜백을 구현 예시를 참고해주세요.
ex) 서비스 대기 요청 시 네트워크 단절 코드를(retcode : 0) 받았을 때 대기를 우회 하고 싶은 경우
func SurffyActionError(projectKey: String, segmentKey: String, retcode: Int) {
if(retcode == 0){
/*
서비스를 진입하는 로직을 구현
*/
}
}
ex) 서비스 대기 요청 시 네트워크 단절 코드를(retcode : 0) 받았을 때 차단하고 싶은 경우
func SurffyActionError(projectKey: String, segmentKey: String, retcode: Int) {
if(retcode == 0){
/*
서비스가 차단되는 로직을 구현
*/
}
}
Q. 앱이 기동 될 때 넷퍼넬을 사용하고 싶은데 대기가 걸리지 않아요. 어떻게 해야 하나요?
A. 넷퍼넬 설정이 로드 되기 전에 넷퍼넬 요청이 불려질 경우 요청이 대기열에 정상적으로 들어가지 않을 수 있습니다. 초기화 함수(oneTimeCallback)를 이용해서 처리할 수 있습니다.
Q. 기본 제어란 무엇이고, 구간 제어란 무엇인가요? 둘의 차이점에는 어떤 것이 있나요?
A. 기본 제어란 특정 로직이나 액션 자체에 대기를 거는 제어를 의미합니다. 기본 제어의 대기 키 반납은 대기 직후에 이루어지며(SurffyActionSuccess 에 키 반납을 하는 경우), 다음 대기자의 순번이 줄어들게 됩니다.
ex) 앱 진입에 대한 대기, 버튼 클릭에 대한 대기
구간 제어란 특정 로직이나 액션 구간에 대기를 거는 제어를 의미합니다. 구간 제어는 진입 시점과 종료 시점을 설정해서, 진입부터 종료 사이의 총 진입 허용수 만큼만 트래픽을 조절합니다. 구간 제어의 대기 키 반납은 명시적인 키 반납 함수가 호출되어야 실행됩니다.
ex) 로그인(진입)-로그아웃(종료), 페이지 진입(진입)-페이지 이동(종료)
댓글
댓글 0개
이 문서에는 댓글을 달 수 없습니다.