コンテンツにスキップ

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、単位はバイト、デフォルトは無効。有効にすると logCacheLimitCountrumCacheLimitCount は無効になります。SDK 0.5.3-pre.2 以降でサポート
dbCacheLimit number いいえ DB キャッシュ制限サイズ。範囲は [30MB, )、デフォルトは 100MB、単位はバイト。SDK 0.5.3-pre.2 以降でサポート
dbCacheDiscard string いいえ DB 内のデータ破棄ルールを設定します。FTDBCacheDiscard.discard:新しいデータを破棄(デフォルト)、FTDBCacheDiscard.discardOldest:古いデータを破棄。SDK 0.5.3-pre.2 以降でサポート
enableLimitWithCacheSize boolean いいえ キャッシュサイズを使用したデータサイズ制限を有効にするかどうか。Android ではキャッシュの総サイズ制限を使用します。iOS では DB キャッシュサイズ制限にマッピングされます。有効にすると cacheLimit が優先され、設定されていない場合は dbCacheLimit が互換用に使用されます
cacheLimit number いいえ キャッシュ制限サイズ、単位はバイト。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 の場合のみ、自身でデータ同期を実行する必要があります。

フィードバック

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