콘텐츠로 이동

문제 해결

SDK 초기화 예외 확인

Logcat을 확인하여 로그 LevelError이고 Tag[FT-SDK] 접두사인 로그가 있는지 확인하세요.

14:46:04.825 [FT-SDK] com.demo E  먼저 SDK 설치하십시오( 시작  FTSdk.install(FTSDKConfig ftSdkConfig) 호출)

Debug 환경에서 Guance SDK를 구성하고 앱을 처음 실행한 후 Xcode의 디버거 콘솔을 확인하세요. SDK는 어서션을 사용하여 여러 구성의 정확성을 확인하고, 구성 오류 시 크래시가 발생하며 관련 경고를 출력합니다.

예: SDK를 구성할 때 datakit metrics 쓰기 주소를 설정하지 않으면 프로그램이 크래시되고 콘솔에 경고⚠️가 출력됩니다.

*** Assertion failure in +[FTMobileAgent startWithConfigOptions:], FTMobileAgent.m:53
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'datakit metrics 쓰기 주소를 설정하십시오'

Debug 디버그 활성화

다음 구성을 통해 SDK의 debug 기능을 활성화할 수 있습니다.

 let config: FTMobileConfig = {
    serverUrl: Config.SERVER_URL,
    debug: true
 };
 FTMobileReactNative.sdkConfig(config);

릴리스 버전을 배포할 때는 이 구성을 비활성화하는 것이 좋습니다

Logcat Tag[FT-SDK] 접두사인 로그를 확인하세요.

SDK의 디버그 로그는 [FTLog] 접두사로 식별됩니다.

  • xcode를 사용하여 실행하는 경우, xcode 디버거 콘솔에서 직접 SDK 디버그 로그를 확인할 수 있습니다.

  • 터미널 명령어 yarn ios 또는 yarn react-native run-ios를 사용하여 실행하는 경우, Mac의 '콘솔'에서 SDK 디버그 로그를 확인할 수 있습니다.

'콘솔' 사용 방법:

동작을 선택하고 간략 정보 포함, 디버그 정보 포함을 체크하세요.

디버그할 장치를 선택하고 시작 버튼을 클릭한 후, 오른쪽 검색 조건 입력란에 검색 조건 [FTLog] 를 입력하세요. 그러면 SDK의 디버그 로그를 확인할 수 있습니다.

console_app_use

Android LogcatiOS Xcode Console 로그 예시

SDK가 정상적으로 실행되지만 데이터가 없음

  • Datakit가 정상적으로 실행 중인지 확인하세요.

  • SDK 업로드 주소 datakitUrl 또는 datawayUrl올바르게 구성되었고, 올바르게 초기화되었는지 확인하세요. debug 모드에서 Android Logcat 또는 iOS Xcode Console의 동기화 로그를 확인하세요.

  • datakit가 해당 워크스페이스로 데이터를 업로드하고 있는지, 오프라인 상태인지 확인하세요. 이는 Guance에 로그인하여 '인프라스트럭처'를 확인함으로써 확인할 수 있습니다.

데이터 손실

일부 데이터 손실

  • RUM의 특정 Session 데이터 또는 Log, Trace의 몇 가지 데이터가 손실된 경우, 먼저 FTRUMConfig, FTLoggerConfig, FTTraceConfig에서 sampleRate < 1이 설정되었는지 확인해야 합니다.

  • 수집된 RUM 데이터가 불완전하고, Resource 또는 Action 데이터가 없습니까?

    Resource 및 Action 데이터는 View와 연결되어 있습니다. FTReactNativeRUM.startView 작업이 있는지 확인해야 합니다. 자세한 내용은 RUM View 문서를 참조하여 View 이벤트 수집을 구현하세요.

  • 데이터를 업로드하는 장치의 네트워크와 datakit를 설치한 장치의 네트워크 및 부하 문제를 확인하세요.

호환 문제

react-native-navigation 실행 호환 문제

ReactTextShadowNode.UNSET 심볼을 찾을 수 없음

이는 react-native-navigation 버전 호환 문제로 인한 것입니다. 관련 issue는 여기에서 확인할 수 있습니다. ReactTypefaceUtils.java를 변경하거나 다운로드하여 교체하면 이 문제를 해결할 수 있습니다.

모듈 react/jsx-runtime을 찾을 수 없음

영향 범위: SDK 버전 0.3.0 && React 버전 < 16.14.0

원인: SDK 내부에서 사용하는 react/jsx-runtime은 React >= 16.14.0에서만 지원됩니다.

수정 제안:

  • SDK 버전을 >= 0.3.1로 업그레이드하세요.

참고: 로컬 경로 방식으로 @cloudcare/react-native-mobile 의존성 라이브러리를 추가하는 것은 권장되지 않으며, 오류가 발생할 경우 수정이 불가능할 수 있습니다.

네이티브와 React Native 혼합 개발

오류: Cannot read properties of undefined (reading 'addError')

원인: RN SDK 버전과 Native SDK 버전이 호환되지 않거나 설치가 완전하지 않아 발생합니다.

문제 확인 방법:

Android 프로젝트 루트 디렉터리에서 터미널 명령어 ./gradlew app:dependencies를 실행하고, 출력 결과에 cloudcare_react-native-mobile이 포함되어 있는지 확인하세요.

cloudcare_react-native-mobile은 RN 프로젝트에 Guance RN SDK 의존성을 추가한 후 Android에 설치되는 의존성 라이브러리입니다.

Podfile.lock 파일을 확인하여 FTMobileReactNativeSDK 의존성 항목이 있는지 확인하세요.

FTMobileReactNativeSDK는 RN 프로젝트에 Guance RN SDK를 통합한 후 iOS에 설치되는 의존성 라이브러리입니다.

수정 제안:

  1. 버전 호환성 확인

    • RN SDK와 네이티브 SDK 버전이 일치하는지 확인하세요.
    • RN SDK에 해당하는 네이티브 SDK 버전 정보 확인 경로:

    node_modules/@cloudcare/react-native-mobile/android/build.gradle

    node_modules/@cloudcare/react-native-mobile/FTMobileReactNativeSDK.podspec

  2. 의존성 재설치

    • 프로젝트 캐시 정리:
    # npm 캐시 정리
    npm cache clean --force
    # 또는 yarn 캐시 정리
    yarn cache clean
    
    • 의존성 재설치:
    # npm 사용
    npm install
    # 또는 yarn 사용
    yarn install
    # iOS 프로젝트, ios 디렉터리로 이동하여 실행
    pod install
    

위 단계를 통해 버전 비호환 또는 불완전한 설치로 인해 발생하는 이 오류를 효과적으로 해결할 수 있습니다.

더 많은 관련 내용

문서 평가

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