초기화 설정
이 문서는 Netfunnel.instance.initialize() 함수에서 사용할 수 있는 모든 초기화 설정을 설명합니다.
필수 매개변수
초기화 함수에는 clientId 매개변수가 필요합니다.
Client ID 가져오기
Client ID를 가져오는 방법과 초기화 예제는 빠른 시작 문서를 참조하세요.
네트워크 설정
NetFUNNEL 서버 통신을 위한 네트워크 동작 및 타임아웃을 제어합니다.
| 매개변수 | 기본값 | 범위 |
|---|---|---|
networkTimeout | 3000 | 100–10000 |
retryCount | 0 | 0–10 |
useNetworkRecoveryMode | false | true/false |
networkTimeout
NetFUNNEL 서버 API 요청이 일시적 실패로 간주되기 전의 최대 타임아웃 기간입니다.
| 속성 | 값 |
|---|---|
| 단위 | 밀리초(ms) |
| 범위 | 100–10000 |
| 기본값 | 3000 |
| 적용 대상 | NetFUNNEL 서버 엔드포인트만 |
동작:
- 타임아웃 내 응답 없음 → 일시적 실패
- 즉시 오류 응답 → 타임아웃 대기 없음
- 각 재시도는 동일한 타임아웃 설정을 사용합니다
예제:
networkTimeout: 1000→ 1초 타임아웃networkTimeout: 5000→ 5초 타임아웃
retryCount
NetFUNNEL 서버 API 호출에서 일시적 실패에 대한 추가 재시도 횟수입니다.
| 속성 | 값 |
|---|---|
| 범위 | 0–10 |
| 기본값 | 0 |
| 공식 | 총 시도 횟수 = (설정 값) + 1 |
| 적용 대상 | NetFUNNEL 서버 엔드포인트만 |
동작:
- 일시적 실패 → 재시도 트리거 (재시도 횟수 > 0인 경우)
- 영구적 실패 → 모든 재시도 시도 소진
예제:
retryCount: 0→ 총 1회 시도 (재시도 없음)retryCount: 2→ 총 3회 시도 (초기 + 2회 재시도)
useNetworkRecoveryMode
대기실이 표시된 상태에서 네트워크 연결이 끊어졌을 때 대기실을 유지하고 재연결을 시도합니다.
| 속성 | 값 |
|---|---|
| 유형 | Boolean |
| 기본값 | false |
| 동작 | true인 경우, networkTimeout 기준으로 재연결 시도하여 대기실 유지 |
사용 사례:
- 사용자가 일시적인 네트워크 중단을 경험할 수 있는 경우
- 사용자가 네트워크 문제로 인해 대기열 위치를 잃지 않도록 보호
디버깅 설정
printLog
문제 해결을 위한 디버그 로그 출력을 활성화합니다.
| 속성 | 값 |
|---|---|
| 유형 | Boolean |
| 기본값 | false |
| 적용 대상 | 개발 및 디버깅 |
예제:
await Netfunnel.instance.initialize(
clientId: 'your-client-id',
printLog: true, // 콘솔 로깅 활성화
);
사용 시기:
- 개발 및 테스트 중
- 통합 문제 해결 시
- NetFUNNEL 동작 이해
참고: 프로덕션에서는 성능 향상을 위해 비활성화하세요.
오류 처리 설정
errorBypass
오류 발생 시 트래픽 제어를 바이패스합니다.
| 속성 | 값 |
|---|---|
| 유형 | Boolean |
| 기본값 | false |
| 동작 | true인 경우, NetFUNNEL이 오류를 만나면 서비스 액세스를 허용합니다 |
사용 사례:
- NetFUNNEL을 사용할 수 없을 때 우아한 성능 저하
- NetFUNNEL 문제 중에도 서비스가 계속되도록 보장
서버 구성
serverUrl
커스텀 NetFUNNEL 서버 주소입니다.
| 속성 | 값 |
|---|---|
| 유형 | String |
| 기본값 | 기본 NetFUNNEL 서버 URL |
사용 시기:
- 커스텀 NetFUNNEL 서버 배포
- 온프레미스 설치
- 특수 네트워크 구성
errorUrl
커스텀 NetFUNNEL 에러 페이지 HTML 주소입니다.
| 속성 | 값 |
|---|---|
| 유형 | String |
| 기본값 | 기본 에러 페이지 URL |
사용 시기:
- 커스텀 에러 페이지 디자인
- 브랜드 에러 경험
- 현지화된 에러 메시지
대기실 설정
useNetfunnelTemplate
콘솔에서 커스텀 NetFUNNEL 대기실 템플릿을 사용합니다.
| 속성 | 값 |
|---|---|
| 유형 | Boolean |
| 기본값 | true |
| 동작 | true인 경우, 콘솔에서 구성한 커스텀 템플릿을 사용합니다 |
사용 시기:
- 커스텀 브랜드 대기실
- 현지화된 대기실 콘텐츠
- 특수 대기실 디자인
사용자 식별
userId
블랙리스트/화이트리스트 확인을 위한 최종 사용자 고유 식별자입니다.
| 속성 | 값 |
|---|---|
| 유형 | String |
| 기본값 | null |
사용 사례:
- 사용자별 액세스 제어
- 블랙리스트/화이트리스트 관리
- VIP 사용자 처리
예제:
await Netfunnel.instance.initialize(
clientId: 'your-client-id',
userId: 'user_12345', // 액세스 제어를 위한 사용자 식별자
);
환경 설정
profile
사용자 환경 설정입니다.
| 속성 | 값 |
|---|---|
| 유형 | String |
| 기본값 | prod_tokyo |
| 옵션 | prod_tokyo, prod_us_east |
사용 시기:
- 환경별 설정을 다르게 하고 싶을 때
- 프로덕션 환경 (도쿄)
- 프로덕션 환경 (미동부)
예제:
// 프로덕션 환경 (도쿄)
await Netfunnel.instance.initialize(
profile: 'prod_tokyo',
// ...
);
// 프로덕션 환경 (미동부)
await Netfunnel.instance.initialize(
profile: 'prod_us_east',
// ...
);
완전한 구성 예제
import 'package:netfunnel_flutter/netfunnel_flutter.dart';
await Netfunnel.instance.initialize(
// 필수
clientId: 'your-client-id',
// 네트워크 설정
networkTimeout: 3000,
retryCount: 0,
useNetworkRecoveryMode: false,
// 디버깅
printLog: false,
// 오류 처리
errorBypass: false,
// 서버 구성
serverUrl: null, // 기본값 사용
errorUrl: null, // 기본값 사용
// 대기실
useNetfunnelTemplate: true,
// 사용자 식별
userId: null,
// 환경 설정
profile: 'prod_tokyo',
);
매개변수 유효성 검사
clientId
- 필수
- 유형: String
- 유효성 검사: 빈 문자열일 수 없음
- 소스: NetFUNNEL 콘솔 → 프로필 아이콘 →
통합 자격 증명(Integration Credentials)
networkTimeout
- 선택
- 유형: int
- 범위: 100–10000 (밀리초)
- 기본값: 3000
retryCount
- 선택
- 유형: int
- 범위: 0–10
- 기본값: 0
printLog
- 선택
- 유형: bool
- 기본값: false
errorBypass
- 선택
- 유형: bool
- 기본값: false
useNetfunnelTemplate
- 선택
- 유형: bool
- 기본값: true
userId
- 선택
- 유형: String 또는 null
- 기본값: null
useNetworkRecoveryMode
- 선택
- 유형: bool
- 기본값: false
profile
- 선택
- 유형: String
- 기본값: prod_tokyo
- 옵션: prod_tokyo, prod_us_east