콘텐츠로 이동

Flutter 애플리케이션 접속


Flutter 애플리케이션의 메트릭 데이터를 수집하여 애플리케이션 성능을 시각적으로 분석합니다.

읽기 경로

전제 조건

참고: RUM Headless 서비스를 이용 중인 경우, 전제 조건이 자동으로 구성되어 있으므로 애플리케이션을 바로 접속하면 됩니다.

애플리케이션 접속

참고

현재 Flutter 버전은 Android 및 iOS 플랫폼만 지원합니다.

  1. 사용자 분석 > 새 애플리케이션 > Android/iOS로 이동
  2. Flutter Android와 Flutter iOS용으로 각각 두 개의 애플리케이션을 생성하여 Android 및 iOS 플랫폼의 RUM 데이터를 각각 수신
  3. 각 플랫폼 애플리케이션에 해당하는 애플리케이션 이름과 애플리케이션 ID 입력
  4. 애플리케이션 접속 방식 선택:

    • 공용 네트워크 DataWay: DataKit 수집기를 설치하지 않고 RUM 데이터를 직접 수신
    • 로컬 환경 배포: 전제 조건을 충족한 후 RUM 데이터 수신

Flutter Web 프로젝트

ft_mobile_agent_flutter는 현재 Android/iOS 네이티브 브리지 기능만 제공하며, Flutter Web bridge는 제공하지 않습니다.

애플리케이션이 Flutter Web에서 실행되는 경우, Web 유형의 RUM 애플리케이션을 생성하고 Web 애플리케이션 접속에 따라 Browser RUM SDK를 사용하세요. 이 방식은 Browser RUM SDK 접속에 해당하며, 이 문서의 후반부에 나오는 Android/iOS 네이티브 브리지 API를 사용하지 않으며, Dart 코드에서 ft_mobile_agent_flutter를 호출하여 Web RUM을 초기화할 필요도 없습니다.

Flutter Web 프로젝트의 접속 위치는 일반적으로 프로젝트 루트 디렉터리의 web/index.html이며, Flutter 시작 스크립트 이전에 Browser RUM SDK 또는 비즈니스 측 초기화 스크립트를 로드할 수 있습니다. build/web 디렉터리는 수정하지 마십시오. 이 디렉터리는 Flutter 빌드 아티팩트로, flutter build web을 실행하면 다시 생성됩니다.

설치

Pub.Dev: ft_mobile_agent_flutter

소스 코드 주소: https://github.com/GuanceCloud/datakit-flutter

Demo 주소: https://github.com/GuanceCloud/datakit-flutter/example

프로젝트 경로에서 다음 명령어를 실행하세요:

flutter pub add ft_mobile_agent_flutter

그러면 패키지의 pubspec.yaml에 종속성이 추가됩니다:

dependencies:
  ft_mobile_agent_flutter: [latest_version]

  # flutter 2.0 호환 버전은 아래 참조 방식을 사용하세요
  ft_mobile_agent_flutter:
    git:
url: https://github.com/GuanceCloud/datakit-flutter.git
ref: [github_legacy_lastest_tag]

Dart 코드에서 import:

import 'package:ft_mobile_agent_flutter/ft_mobile_agent_flutter.dart';

ft_mobile_agent_flutter 0.5.7부터 Session Replay는 별도 패키지 ft_session_replay_flutter에서 제공됩니다. 세션 리플레이를 활성화하려면 Flutter Session Replay를 계속 읽어주세요.

Android 통합 추가 설정

  • Gradle Plugin ft-plugin 설정: 앱 시작 이벤트 및 Android Native 관련 이벤트(페이지 이동, 클릭 이벤트, Native 네트워크 요청, WebView 데이터) 수집에 사용
  • 시작 횟수와 시작 시간을 통계하려면 Flutter 버전에 맞게 사용자 정의 Application을 생성하고 AndroidManifest.xml에 선언해야 함

Flutter 3.28.x 이하 버전은 이전 방식 사용:

import io.flutter.app.FlutterApplication

/**
 * 【시작 횟수】와 【시작 시간】을 통계하려면 여기에 사용자 정의 Application을 추가해야 합니다
 */
class CustomApplication : FlutterApplication() {
}

Flutter 3.29.0 이상 버전은 새 방식 사용:

import android.app.Application

/**
 * 【시작 횟수】와 【시작 시간】을 통계하려면 여기에 사용자 정의 Application을 추가해야 합니다
 */
class CustomApplication : Application() {
}
Flutter 3.29.0 이상 버전 참고 사항

Flutter 3.29.0에서 v1 Android embedding(io.flutter.app.FlutterApplication 포함)이 제거되었습니다. 따라서 해당 버전부터는 위의 새 방식을 사용하세요. Android App 시작 이벤트를 수집하려면 ft-plugin이 사용자 정의 ApplicationonCreate()에 시작 리스너 코드를 삽입해야 합니다. android.app.Application(또는 androidx.multidex.MultiDexApplication)을 직접 상속받으세요. 그렇지 않으면 launch_cold 등의 App 시작 이벤트를 수집하지 못할 수 있습니다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.ft.sdk.flutter.agent_example">
  <application android:name=".CustomApplication">
    //...
  </application>
</manifest>

상세 설정 진입점

고급 시나리오

충돌 필드 설명

  • 특수 키: track_id, 추적 기능에 사용
  • 사용자가 globalContext를 통해 추가한 사용자 정의 태그가 SDK 고유 태그와 동일한 경우, SDK의 태그가 사용자가 설정한 값을 덮어씁니다
  • 태그 이름에는 프로젝트 약어 접두사를 추가하는 것을 권장합니다(예: custom_tag_name)

  • 프로젝트에서 사용되는 key 값은 Android 상수 정의를 참조하세요: Constants.java

자주 묻는 질문

문서 평가

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