본문으로 건너뛰기
버전: 4.6.1

통합 방법 개요

NetFUNNEL iOS 에이전트는 iOS 애플리케이션에서 트래픽 제어를 적용하기 위한 코드 기반 통합을 지원합니다. 웹 에이전트와 달리 모바일 네이티브 에이전트는 코드 기반 통합만 지원하며, 이는 키 관리 방식에 따라 두 가지 제어 유형으로 나뉩니다:

  • 코드 기반 통합 - 기본 제어: 진입 속도 제어 (키를 빠르게 반환)
  • 코드 기반 통합 - 구간 제어: 고정된 동시 사용자 수 유지 (구간 종료까지 키 보유)

코드 기반 통합

하는 일:

  • iOS 코드에서 NetFUNNEL 함수를 호출하여 트래픽 제어 적용
  • 대기실을 적용할 시점과 위치를 완전히 제어할 수 있음
  • 앱 흐름의 특정 지점에서 함수 호출

사용자 경험 (UX):

  • 대기실이 필요할 때 네이티브 대기실 UI가 표시됨
  • 사용자는 진입이 허용될 때까지 앱에서 대기
  • 앱의 디자인 및 흐름과의 원활한 통합

특징:

  • 트래픽 제어 타이밍에 대한 정확한 제어
  • 네이티브 모바일 UI 경험
  • 모바일 앱 및 복잡한 사용자 흐름에 최적

제어 유형 간 주요 차이점:

  • 기본 제어 (코드 기반 통합): 진입 속도 제어 (키를 빠르게 반환)
  • 구간 제어 (코드 기반 통합): 고정된 동시 사용자 수 유지 (구간 종료까지 키 보유)

제어 유형

코드 기반 통합은 두 가지 제어 유형으로 더 세분화됩니다:

제어 유형목적최적 사용 사례키 관리
코드 기반 통합 - 기본 제어진입 속도 제어버튼 클릭, API 호출, 뷰 컨트롤러 진입작업 완료 후 키를 빠르게 반환
코드 기반 통합 - 구간 제어동시 사용자 수 유지다단계 프로세스, 체크아웃 흐름구간 종료까지 키 보유 (전체 프로세스 완료)

제어 유형 비교

코드 기반 통합 - 기본 제어

하는 일:

  • 사용자가 서비스에 진입할 수 있는 속도를 제어
  • 각 사용자가 작업을 시작할 때 키를 받음
  • 작업이 완료되면 키를 빠르게 반환
  • 이전 사용자가 키를 반환한 후에만 다음 사용자가 진입할 수 있음

키 관리: 특정 작업이 완료되면 즉시 키를 반환합니다 (예: 뷰 컨트롤러 로드, API 호출 완료).

사용 사례:

  • 버튼 클릭 속도 제한
  • API 호출 스로틀링
  • 로그인 시도 제어
  • 뷰 컨트롤러 진입 보호

예제 흐름:

코드 기반 통합 - 구간 제어

하는 일:

  • 특정 구간에서 고정된 수의 동시 사용자 유지
  • 사용자는 슬롯이 사용 가능해질 때까지 대기열에서 대기
  • 사용자가 전체 구간을 완료할 때까지 키 보유
  • 현재 사용자가 구간을 종료할 때만 다음 사용자가 진입

키 관리: 전체 다단계 프로세스 동안 키를 보유하며, 전체 구간/프로세스가 완료될 때만 반환합니다 (예: 체크아웃 완료, 결제 처리 완료).

사용 사례:

  • 체크아웃 프로세스 제어
  • 결제 흐름 관리
  • 다단계 폼 완료
  • 리소스 집약적인 작업

예제 흐름:


결정 매트릭스

필요 사항권장 제어 유형키 관리 전략
"사용자가 버튼을 탭하는 속도를 제한하고 싶습니다"기본 제어 (코드 기반 통합)빠른 키 반환 - 개별 작업 보호
"동시에 체크아웃할 수 있는 사용자 수를 제한하고 싶습니다"구간 제어 (코드 기반 통합)체크아웃 완료까지 키 보유 - 동시 사용자 수 제어
"로그인 화면을 보호하고 싶습니다"기본 제어 (코드 기반 통합)빠른 키 반환 - 간단한 진입 보호
"다단계 프로세스를 제어하고 싶습니다"구간 제어 (코드 기반 통합)프로세스 완료까지 키 보유 - 점유 유지
"API 호출을 스로틀링하고 싶습니다"기본 제어 (코드 기반 통합)빠른 키 반환 - 호출당 속도 제한
"결제 처리를 제어하고 싶습니다"구간 제어 (코드 기반 통합)결제 완료까지 키 보유 - 리소스 관리

구현 복잡도

코드 기반 통합 - 기본 제어

  • 설정: 간단
  • 코드: 최소
  • 유지보수: 낮음
  • 키 관리: 간단 (빠른 반환)
  • 최적 사용 사례: 빠른 구현, 간단한 사용 사례

코드 기반 통합 - 구간 제어

  • 설정: 보통
  • 코드: 더 복잡
  • 유지보수: 중간
  • 키 관리: 복잡 (완료까지 보유)
  • 최적 사용 사례: 복잡한 워크플로우, 리소스 관리

두 제어 유형을 모두 사용할 수 있나요?

예! 같은 애플리케이션에서 두 제어 유형을 모두 사용할 수 있습니다:

// 로그인을 위한 기본 제어
func handleLogin() {
Netfunnel.shared.nfStart(projectKey: "login_project", segmentKey: "login_segment")
}

// 체크아웃을 위한 구간 제어
func startCheckout() {
Netfunnel.shared.nfStartSection(projectKey: "checkout_project", segmentKey: "checkout_segment")
}

일반적인 패턴:

  • 진입점(로그인, 주요 기능)에는 기본 제어 (코드 기반 통합) 사용 - 활동 로드 후 빠른 키 반환
  • 중요한 프로세스(체크아웃, 결제)에는 구간 제어 (코드 기반 통합) 사용 - 전체 프로세스 완료까지 키 보유

연습 프로젝트 제공

연습할 기본 프로젝트가 필요하신가요? NetFUNNEL SDK 통합 연습을 위한 iOS 애플리케이션 (Single ViewController) 템플릿을 포함한 샘플 프로젝트를 확인하세요.