コンテンツにスキップ

Flutter アプリケーションの接続


Flutter アプリケーションのメトリクスデータを収集し、アプリケーションのパフォーマンスを可視化して分析します。

読み進め方

前提条件

注意RUM Headless サービスを有効にしている場合、前提条件は自動で設定されていますので、すぐにアプリケーションを接続できます。

アプリケーションの接続

注意

現在の Flutter バージョンは Android と iOS プラットフォームのみをサポートしています。

  1. ユーザーアクセス監視 > アプリケーションを新規作成 > Android/iOS に進みます
  2. Flutter Android と Flutter iOS 用にそれぞれ 2 つのアプリケーションを作成し、Android プラットフォームと iOS プラットフォームからの RUM データを個別に受信します
  3. 各プラットフォームのアプリケーションに対応するアプリケーション名とアプリケーション ID を入力します
  4. アプリケーションの接続方式を選択します:

    • パブリック DataWay:RUM データを直接受信します。DataKit コレクターのインストールは不要です
    • ローカル環境へのデプロイ:前提条件を満たした上で RUM データを受信します

Flutter Web プロジェクト

ft_mobile_agent_flutter は現在、Android / iOS の Native ブリッジ機能のみを提供しており、Flutter Web bridge は提供していません。

アプリケーションが Flutter Web 上で動作する場合は、Web タイプの RUM アプリケーションを作成し、Web アプリケーション接続 に従って Browser RUM SDK を使用してください。この方式は Browser RUM SDK による接続であり、本記事で後述する Android / iOS の Native ブリッジ 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 '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 では、io.flutter.app.FlutterApplication を含む v1 Android embedding が削除されました。そのため、このバージョン以降は上記の新しい記述方法を使用してください。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

よくある質問

フィードバック

このページは役に立ちましたか?