コンテンツにスキップ

SDK 初期化

このドキュメントでは、UniApp SDK の初期化とランタイムの基本機能について説明します。

基本設定

<script>
var ftModule = uni.requireNativePlugin("GCUniPlugin-MobileAgent");

export default {
    onLaunch: function() {
        ftModule.sdkConfig({
            datakitUrl: 'your datakitUrl',
            debug: true,
            env: 'common',
            globalContext: {
                custom_key: 'custom value'
            }
        });
    }
}
</script>
パラメータ名 パラメータタイプ 必須 パラメータ説明
datakitUrl string いいえ ローカル環境(Datakit)のデータ送信 URL アドレス。例:http://10.0.0.1:9529datawayUrl と二択です。0.2.7 以降では初期化時に設定せず、後で setDatakitURL で動的に設定可能
datawayUrl string いいえ パブリックネットワーク DataWay のデータ送信 URL アドレス。datakitUrl と二択です。0.2.7 以降では初期化時に設定せず、後で setDatawayURL で動的に設定可能
clientToken string datawayUrl 使用時は必須 認証トークン。datawayUrl と併用する必要があります
debug boolean いいえ Debug ログを出力するかどうか。デフォルトは false
env string いいえ 環境名。デフォルトは prodtest のような単一の単語を推奨
service string いいえ 所属するビジネスまたはサービス名。デフォルト:df_rum_iosdf_rum_android
globalContext object いいえ 初期化時に追加するグローバルタグ
offlinePackage boolean いいえ Android のみ対応。オフラインパッケージまたは uni ミニアプリを使用するかどうか。デフォルトは false。詳細はアプリケーション接続 FAQ を参照
autoSync boolean いいえ データ収集後に自動でサーバーに同期するかどうか。デフォルトは YESNO の場合は flushSyncData を使用して手動で同期を管理
syncPageSize number いいえ 同期リクエストの項目数を設定。範囲 [5,)、デフォルトは 10
syncSleepTime number いいえ 同期のインターバル時間を設定。範囲 [0,5000]、デフォルトは未設定
enableDataIntegerCompatible boolean いいえ Web データと共存する場合に有効にすることを推奨。0.2.1 以降はデフォルトで有効
compressIntakeRequests boolean いいえ 同期データを deflate 圧縮するかどうか。デフォルトは無効。SDK 0.2.0 以上で対応
enableLimitWithDbSize boolean いいえ DB 容量制限を有効にするかどうか。デフォルトは無効。有効にすると logCacheLimitCountrumCacheLimitCount は無効になります
dbCacheLimit number いいえ DB キャッシュ制限サイズ。範囲 [30MB,)、デフォルトは 100MB、単位はバイト
dbDiscardStrategy string いいえ DB データ破棄戦略:discard は新しいデータを破棄(デフォルト)、discardOldest は古いデータを破棄
dataModifier object いいえ 単一フィールドのマスキング変更。詳細はデータ収集マスキング を参照
lineDataModifier object いいえ 単一データのマスキング変更。詳細はデータ収集マスキング を参照
remoteConfiguration boolean いいえ データ収集のリモート設定を有効にするかどうか。デフォルトは false。有効にすると、SDK 初期化またはアプリのホットスタート時に設定が更新されます。Datakit バージョン 1.60 以上、またはパブリックネットワーク DataWay が必要です。SDK 0.2.7 以上で対応
remoteConfigMiniUpdateInterval number いいえ リモート設定の最小更新間隔。範囲 [0,)、単位は秒。デフォルトは 12 時間。SDK 0.2.7 以上で対応
enableDataFilter boolean いいえ DataKit 互換のデータフィルタリングを有効にするかどうか。デフォルトは true。ローカルルールとリモートルールの両方がこのスイッチの制御を受けます。SDK 0.2.7 以上で対応
dataFilters object いいえ ローカルデータフィルタリングルール。key は loggingrum をサポート。value はルールの文字列配列。SDK 0.2.7 以上で対応

リモート設定とデータフィルタリング

var ftModule = uni.requireNativePlugin("GCUniPlugin-MobileAgent");

ftModule.sdkConfig({
    datakitUrl: 'http://10.0.0.1:9529',
    remoteConfiguration: true,
    remoteConfigMiniUpdateInterval: 600,
    enableDataFilter: true,
    dataFilters: {
        logging: [
            "{ message match [ 'password' ] }"
        ],
        rum: [
            "{ resource_status match [ '5..' ] }"
        ]
    }
});
  • remoteConfiguration は、サンプリングレートなどの SDK 設定のリモート更新を有効にするために使用します。更新を手動でトリガーするには、updateRemoteConfigWithMiniUpdateInterval を使用できます。
  • dataFilters は、アプリとともにリリースされるローカルのブラックリストルールです。いずれかのルールに一致したデータは、ローカルキャッシュに書き込まれる前に破棄されます。
  • ローカルルールとリモートルールは同時に有効になります。ルールは lineDataModifier の後に実行されるため、変更後のデータに基づいて判定が行われます。
  • 各ルールは { 条件 } で表現します。サポートされるフィールドと値の形式については、ブラックリストフィルタリングルール を参照してください。ルールが多すぎる場合や正規表現が複雑すぎる場合、データ書き込みのパフォーマンスに影響を与える可能性があります。

ユーザー情報のバインドとアンバインド

var ftModule = uni.requireNativePlugin("GCUniPlugin-MobileAgent");

ftModule.bindRUMUserData({
    userId: 'Test userId',
    userName: 'Test name',
    userEmail: 'test@123.com',
    extra: {
        age: '20'
    }
});

ftModule.unbindRUMUserData();

API - bindRUMUserData

フィールド タイプ 必須 説明
userId string はい ユーザー ID
userName string いいえ ユーザー名
userEmail string いいえ ユーザーのメールアドレス
extra object いいえ ユーザーの追加情報

API - unbindRUMUserData

現在のユーザーをアンバインドします。

ランタイム機能

動的なデータ送信先更新

SDK 0.2.7 以上では、初期化後にデータ送信先を動的に設定できます。setDatakitURLsetDatawayURL は二択で使用します。DataWay に切り替える場合は、clientToken も同時に渡す必要があります。

初期化時に datakitUrldatawayUrl の両方を省略できます。有効なデータ送信先が設定されるまで、SDK は初期化と収集データのキャッシュを続行できます。アドレスが設定されると、対応するアドレスへのアップロードが開始されます。

var ftModule = uni.requireNativePlugin("GCUniPlugin-MobileAgent");

ftModule.setDatakitURL({
    datakitUrl: 'http://10.0.0.1:9529'
});

// DataWay を使用する場合は、setDatakitURL の代わりに以下のメソッドを呼び出します。
ftModule.setDatawayURL({
    datawayUrl: 'https://open.dataway.url',
    clientToken: 'client-token'
});

API - setDatakitURL

フィールド タイプ 必須 説明
datakitUrl string はい 新しい Datakit データ送信先アドレス

API - setDatawayURL

フィールド タイプ 必須 説明
datawayUrl string はい 新しい DataWay データ送信先アドレス
clientToken string はい DataWay アドレスに対応する認証トークン

リモート設定の手動更新

呼び出す前に、sdkConfigremoteConfiguration: true を設定する必要があります。miniUpdateInterval は、この呼び出しで指定された最小更新間隔を使用し、初期化時の remoteConfigMiniUpdateInterval は使用しません。

var ftModule = uni.requireNativePlugin("GCUniPlugin-MobileAgent");

ftModule.updateRemoteConfigWithMiniUpdateInterval({
    miniUpdateInterval: 0
}, result => {
    if (result.success) {
        console.log('remote config: ' + result.rawJson);
    } else {
        console.log('remote config failed: ' + result.errorMessage);
    }
});

API - updateRemoteConfigWithMiniUpdateInterval

リクエストフィールド タイプ 必須 説明
miniUpdateInterval number いいえ 今回の手動更新の最小間隔。範囲 [0,)、単位は秒。デフォルトは 0

コールバックパラメータ:

戻り値フィールド タイプ 説明
success boolean 更新が成功したかどうか
platform string 現在のプラットフォーム:ios または android
rawJson string 更新成功時に返される、生のリモート設定 JSON 文字列。サーバー側にコンテンツがない場合は存在しない可能性があります
errorCode number/string 更新失敗時のエラーコード。iOS は数値、Android は文字列を返します
errorMessage string 更新失敗時のエラーメッセージ

SDK のシャットダウン

var ftModule = uni.requireNativePlugin("GCUniPlugin-MobileAgent");
ftModule.shutDown();

API - shutDown

SDK をシャットダウンします。

SDK キャッシュデータのクリア

var ftModule = uni.requireNativePlugin("GCUniPlugin-MobileAgent");
ftModule.clearAllData();

API - clearAllData

まだサーバーにアップロードされていないすべてのデータを消去します。

データの手動同期

var ftModule = uni.requireNativePlugin("GCUniPlugin-MobileAgent");
ftModule.flushSyncData();

API - flushSyncData

sdkConfig.autoSynctrue に設定している場合、追加の操作は不要で、SDK が自動的に同期します。

sdkConfig.autoSyncfalse に設定している場合、このメソッドを手動で呼び出してデータ同期をトリガーする必要があります。

フィードバック

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