콘텐츠로 이동

SDK 초기화

이 문서는 Flutter SDK 초기화 및 런타임 기능 관련 내용을 포함합니다.

기본 설정

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // 로컬 환경 배포, Datakit 배포
  await FTMobileFlutter.sdkConfig(
    datakitUrl: datakitUrl,
  );

  // 공용 DataWay 사용
  await FTMobileFlutter.sdkConfig(
    datawayUrl: datawayUrl,
    cliToken: cliToken,
  );
}
필드 타입 필수 설명
datakitUrl String 로컬 환경 배포(Datakit) 전송 URL 주소, 예시: http://10.0.0.1:9529, 포트 기본값은 9529, SDK를 설치한 디바이스에서 해당 주소에 접근 가능해야 합니다. 참고: datakitUrldatawayUrl 중 하나만 선택
datawayUrl String 공용 DataWay 전송 URL 주소, [실제 사용자 모니터링(RUM)] 애플리케이션에서 획득, 예시: https://open.dataway.url, SDK를 설치한 디바이스에서 해당 주소에 접근 가능해야 합니다. 참고: datakitUrldatawayUrl 중 하나만 선택
cliToken String 인증 토큰, datawayUrl과 함께 설정해야 함
debug bool 아니요 로그 출력 허용 여부 설정, 기본값 false
env String 아니요 환경 설정, 기본값 prod,任意 문자, 단일 단어 사용 권장, 예: test
envType enum EnvType 아니요 환경 설정, 기본값 EnvType.prod참고: envenvType 중 하나만 설정하면 됨
autoSync bool 아니요 데이터 수집 후 서버에 자동 동기화 여부, 기본값 truefalse인 경우 FTMobileFlutter.flushSyncData()를 사용하여 데이터 동기화를 직접 관리
syncPageSize enum 아니요 동기화 요청 항목 수 설정, SyncPageSize.mini 5개, SyncPageSize.medium 10개, SyncPageSize.large 50개, 기본값 SyncPageSize.medium
customSyncPageSize number 아니요 동기화 요청 항목 수 설정, 범위 [5, ). 요청 항목 수가 많을수록 데이터 동기화가 더 많은 컴퓨팅 리소스를 사용함을 의미
syncSleepTime number 아니요 동기화 간격 시간 설정, 범위 [0,5000], 기본값은 설정되지 않음
globalContext object 아니요 사용자 정의 태그 추가. 추가 규칙은 충돌 필드 설명 참조
serviceName String 아니요 서비스명
customHttpOverrides HttpOverrides 아니요 사용자 정의 HTTP Overrides. HTTP 자동 수집 활성화 시, 프로젝트에서 이미 HttpOverrides.global을 사용자 정의한 경우 이 매개변수를 통해 사용자 정의 구현을 전달할 수 있으며, SDK는 수집 체인에서 해당 구현을 재사용
enableLimitWithDbSize boolean 아니요 DB를 사용한 데이터 크기 제한 활성화, 기본값 100MB, 단위 Byte, 기본적으로 비활성화. 활성화 시 logCacheLimitCountrumCacheLimitCount는 무효화됨. SDK 0.5.3-pre.2 이상 지원
dbCacheLimit number 아니요 DB 캐시 제한 크기, 범위 [30MB, ), 기본값 100MB, 단위 byte, SDK 0.5.3-pre.2 이상 지원
dbCacheDiscard string 아니요 데이터베이스 데이터 폐기 규칙 설정. FTDBCacheDiscard.discard는 새 데이터 폐기(기본값), FTDBCacheDiscard.discardOldest는 오래된 데이터 폐기. SDK 0.5.3-pre.2 이상 지원
enableLimitWithCacheSize boolean 아니요 캐시 크기를 사용한 데이터 크기 제한 활성화. Android는 캐시 총 크기 제한 사용; iOS는 DB 캐시 크기 제한에 매핑. 활성화 시 우선 cacheLimit 사용, 설정되지 않은 경우 dbCacheLimit 호환 사용
cacheLimit number 아니요 캐시 제한 크기, 단위 byte. Android는 캐시 총 크기; iOS는 DB 캐시 제한
cacheDiscard enum FTCacheDiscard 아니요 캐시 데이터 폐기 규칙 설정. Android는 캐시 폐기 전략 사용; iOS는 DB 데이터 폐기 규칙에 매핑. FTCacheDiscard.discard는 새 데이터 폐기(기본값), FTCacheDiscard.discardOldest는 오래된 데이터 폐기
enableFileDataStore boolean 아니요 Android: FileStore 파일 캐시 활성화 여부
needTransformOldCache boolean 아니요 Android: FileStore 활성화 시 이전 SQLite 캐시 데이터 마이그레이션 여부
fileDataStoreShadow boolean 아니요 Android: SQLite 읽기 경로 사용 시 FileStore에 동시 쓰기 여부
compressIntakeRequests boolean 아니요 업로드 동기화 데이터에 대해 deflate 압축 수행, SDK 0.5.3-pre.2 이상 지원, 기본적으로 비활성화
enableDataIntegerCompatible boolean 아니요 Web 데이터와 공존해야 하는 경우 활성화 권장, Web 데이터 타입 저장 호환성 처리용. 0.5.4-pre.1 이상부터 기본적으로 활성화
dataModifier Map 아니요 단일 필드 변경, 사용 예시는 데이터 수집 마스킹 참조
lineDataModifier Map> 아니요 단일 데이터 변경, 사용 예시는 데이터 수집 마스킹 참조
enableDataFilter boolean 아니요 SDK 측 DataKit 호환 필터 규칙 활성화 여부. 기본적으로 네이티브 SDK 설정을 따름
dataFilters Map> 아니요 로컬 DataKit 호환 필터 규칙, 데이터 타입별 그룹화, 현재 loggingrum 지원
enableRemoteConfiguration boolean 아니요 원격 구성 활성화 여부. 활성화 시 SDK는 설정된 간격에 따라 원격 구성을 가져와 현재 런타임에 적용
remoteConfigMiniUpdateInterval number 아니요 원격 구성 최소 업데이트 간격, enableRemoteConfiguration과 함께 사용해야 함
remoteConfigOverrideRules List> 아니요 원격 구성 로컬 재정의 규칙, 디버깅 또는 특정 시나리오에서 원격 구성 결과 재정의용
iOSGroupIdentifiers List 아니요 iOS App Group 식별자 목록, Extension과 메인 앱 간 캐시 데이터 공유용

사용자 정보 바인딩 및 해제

사용 방법

/// 사용자 바인딩
///
/// [userid] 사용자 ID
/// [userName] 사용자 이름
/// [userEmail] 사용자 이메일
/// [userExt] 확장 데이터
static Future<void> bindRUMUserData(String userId,
    {String? userName, String? userEmail, Map<String, String>? ext})

/// 사용자 해제
static Future<void> unbindRUMUserData()

코드 예시

FTMobileFlutter.bindRUMUserData("flutterUser");

FTMobileFlutter.unbindRUMUserData();

ext 추가 규칙은 충돌 필드 설명을 참조하세요.

런타임 기능

수동 데이터 동기화

FTMobileFlutter.flushSyncData();

autoSync: false인 경우에만 데이터 동기화를 직접 수행해야 합니다.

문서 평가

이 페이지가 도움이 되었나요?