RUM 設定¶
RUM 初期化設定¶
FTSdk.initRUMWithConfig(
new FTRUMConfig()
.setRumAppId(RUM_APP_ID)
.setEnableTraceUserView(true)
.setDeviceMetricsMonitorType(DeviceMetricsMonitorType.ALL.getValue())
.setEnableTraceUserAction(true)
.setEnableTraceUserResource(true)
.setEnableTrackAppUIBlock(true)
.setEnableTrackAppCrash(true)
.setEnableTrackAppANR(true)
.setExtraMonitorTypeWithError(ErrorMonitorType.ALL.getValue())
);
FTSdk.initRUMWithConfig(
FTRUMConfig()
.setRumAppId(RUM_APP_ID)
.setEnableTraceUserView(true)
.setDeviceMetricsMonitorType(DeviceMetricsMonitorType.ALL.getValue())
.setEnableTraceUserAction(true)
.setEnableTraceUserResource(true)
.setEnableTrackAppUIBlock(true)
.setEnableTrackAppCrash(true)
.setEnableTrackAppANR(true)
.setExtraMonitorTypeWithError(ErrorMonitorType.ALL.getValue())
)
| メソッド名 | 型 | 必須 | 説明 |
|---|---|---|---|
| setRumAppId | String | はい | RUM AppId を設定します。RUM の appid を設定することで、RUM の収集機能が有効になります。appid の取得方法 |
| setSamplingRate | Float | いいえ | サンプリングレートを設定します。範囲は [0,1] で、0 は収集しない、1 は全収集を意味します。デフォルト値は 1 です。同一の session_id 下のすべての View、Action、LongTask、Error データに適用されます。 |
| setSessionErrorSampleRate | Float | いいえ | エラーサンプリングレートを設定します。セッションが setSamplingRate によってサンプリングされなかった場合、セッション中にエラーが発生すると、エラー発生前 1 分間のデータを収集できます。範囲は [0,1] で、0 は収集しない、1 は全収集を意味します。デフォルト値は 0 です。同一の session_id 下のすべての View、Action、LongTask、Error データに適用されます。ft-sdk 1.6.11 以降でサポートされています。 |
| setEnableTrackAppCrash | Boolean | いいえ | アプリのクラッシュログを報告するかどうかを設定します。デフォルトは false です。有効にすると、エラー分析にエラースタックデータが表示されます。クラッシュログの難読化コンテンツの変換については、シンボルファイルのアップロード を参照してください。ft-sdk 1.5.1 以降では、extraLogCatWithJavaCrash、extraLogCatWithNativeCrash を使用して、Java Crash と Native Crash で logcat を表示するかどうかを設定できます。 |
| setIssueDataProvider | FTIssueDataProvider | いいえ | 自動収集された Java/Native Crash および watchdog/native ANR Error に、検証済みのカスタムフィールドを追加します。履歴復旧データを含みます。デフォルトでは設定されません。ft-sdk 1.7.5 以降でサポートされています。詳細は Crash/ANR カスタムフィールド を参照してください。 |
| setExtraMonitorTypeWithError | Array | いいえ | 補助監視情報を設定します。RUM クラッシュデータに追加の監視データを追加します。ErrorMonitorType.BATTERY はバッテリー残量、ErrorMonitorType.MEMORY はメモリ使用量、ErrorMonitorType.CPU は CPU 使用率です。デフォルトでは設定されません。 |
| setDeviceMetricsMonitorType | Array | いいえ | View 監視情報を設定します。View のライフサイクル中に監視データを追加します。DeviceMetricsMonitorType.BATTERY は現在のページの最大電流出力を監視、DeviceMetricsMonitorType.MEMORY は現在のアプリのメモリ使用量を監視、DeviceMetricsMonitorType.CPU は CPU の動作回数を監視、DeviceMetricsMonitorType.FPS は画面のフレームレートを監視します。監視周期は DetectFrequency.DEFAULT(500 ミリ秒)、DetectFrequency.FREQUENT(100 ミリ秒)、DetectFrequency.RARE(1 秒)から選択できます。デフォルトでは設定されません。 |
| setEnableTrackAppANR | Boolean | いいえ | ANR 収集を有効にするかどうかを設定します。デフォルトは false です。ft-sdk 1.7.5 以降、Android 11(API 30)以上では、プロセスの次回起動時に ApplicationExitInfo を通じて致命的な ANR を復旧します。非致命的なリアルタイム ANR は収集しません。Android 10(API 29)以下では、引き続きリアルタイムの watchdog/native ANR 収集を使用します。extraLogCatWithANR は API 29 以下のリアルタイム収集パスでのみ使用されます。 |
| setEnableTrackAppUIBlock | Boolean, long | いいえ | UI のカクつき検出を有効にするかどうかを設定します。デフォルトは false です。ft-sdk 1.6.4 以降では、blockDurationMs で検出時間範囲 [100,) をミリ秒単位で制御できます。デフォルトは 1 秒です。 |
| setEnableTraceUserAction | Boolean | いいえ | ユーザー操作を自動追跡するかどうかを設定します。現在はユーザーの起動とクリック操作のみをサポートしています。この設定は ft-plugin に依存します。デフォルトは false です。 |
| setEnableTraceUserView | Boolean | いいえ | ユーザーページ操作を自動追跡するかどうかを設定します。この設定は ft-plugin に依存します。デフォルトは false です。 |
| setEnableTraceUserViewInFragment | Boolean | いいえ | Fragment タイプのページデータを自動追跡するかどうかを設定します。この設定は ft-plugin に依存します。デフォルトは false です。ft-sdk 1.6.11 以降でサポートされています。 |
| setEnableTraceUserResource | Boolean | いいえ | ユーザーのネットワークリクエストを追跡するかどうかを設定します。OkHttp のみをサポートします。デフォルトは false です。通常の HTTP リクエストの自動収集は ft-plugin に依存します。ft-sdk >= 1.7.5 かつ ft-plugin >= 1.3.8 の場合、newWebSocket() のハンドシェイク Resource も自動収集します。FTWebSocket を使用して明示的に統合することもできます。 |
| setEnableResourceHostIP | Boolean | いいえ | リクエストのターゲットドメイン名の IP アドレスを収集するかどうかを設定します。適用範囲:EnableTraceUserResource が true の場合のデフォルト収集のみに影響します。カスタム Resource 収集には、FTResourceEventListener.FTFactory(true) を使用してこの機能を有効にする必要があります。また、単一の OkHttp は同じドメイン名に対して IP キャッシュメカニズムを持ち、同じ OkHttpClient でサーバー側の IP が変更されない限り、IP は一度だけ生成されます。 |
| setResourceUrlHandler | Callback | いいえ | フィルタリングする Resource の条件を設定します。デフォルトではフィルタリングしません。 |
| setOkHttpEventListenerHandler | Callback | いいえ | ASM がグローバルな OkHttp EventListener を設定します。デフォルトでは設定されません。 |
| setOkHttpResourceContentHandler | Callback | いいえ | ASM がグローバルな FTResourceInterceptor.ContentHandlerHelper を設定します。デフォルトでは設定されません。ft-sdk 1.6.7 以降でサポートされています。カスタム Resource |
| addGlobalContext | Dictionary | いいえ | カスタムタグを追加します。ユーザー監視データソースの識別に使用します。トレース機能を使用する場合、パラメータ key は track_id、value は任意の数値です。追加ルールの注意事項はこちらを参照してください。 |
| setRumCacheLimitCount | int | いいえ | ローカルキャッシュの RUM 制限数 [10_000,) を設定します。デフォルトは 100,000 です。ft-sdk 1.6.6 以降でサポートされています。 |
| setEnableTraceWebView | Boolean | いいえ | Android SDK を介した WebView データの収集を有効にするかどうかを設定します。デフォルトは true です。ft-sdk 1.6.12 以降でサポートされています。 |
| setAllowWebViewHost | Array | いいえ | データ追跡を許可する WebView のホストアドレスを設定します。null の場合はすべて収集します。デフォルトは null です。ft-sdk 1.6.12 以降でサポートされています。このメソッドは非推奨です。ft-sdk 1.7.5 以降は、FTSDKConfig.setAllowWebViewHost を使用して WebView RUM と Log を統一的に設定してください。 |
| setViewActivityTrackingHandler | FTViewActivityTrackingHandler | いいえ | Activity ビューの追跡方法をカスタマイズするために使用します。Activity のライフサイクルイベントが発生すると、このハンドラーが呼び出されて、その Activity をどのように追跡するかを決定します。デフォルトでは何も処理しません。ft-sdk 1.6.13 以降でサポートされています。 |
| setViewFragmentTrackingHandler | FTViewFragmentTrackingHandler | いいえ | Fragment ビューの追跡方法をカスタマイズするために使用します。Fragment のライフサイクルイベントが発生すると、このハンドラーが呼び出されて、その Fragment をどのように追跡するかを決定します。デフォルトでは何も処理しません。ft-sdk 1.6.13 以降でサポートされています。 |
| setActionTrackingHandler | FTActionTrackingHandler | いいえ | ユーザー操作の追跡方法をカスタマイズするために使用します。ユーザーが操作を実行すると、このハンドラーが呼び出されて、その操作をどのように追跡するかを決定します。デフォルトでは何も処理しません。ft-sdk 1.6.13 以降でサポートされています。 |
WebSocket ハンドシェイク Resource¶
ft-sdk >= 1.7.5 かつ ft-plugin >= 1.3.8 の場合、FTRUMConfig.setEnableTraceUserResource(true) を有効にすると、OkHttp の newWebSocket() リクエストに対して、ハンドシェイク Resource が自動的に 1 回収集されます。
ft-sdk のみを 1.7.5 にアップグレードし、引き続き ft-plugin 1.3.7 を使用する場合でも、ビルドと実行は互換性がありますが、1.3.7 では WebSocket ハンドシェイクは自動的にインターセプトされません。この場合は、FTWebSocket.newWebSocket() または FTWebSocket.wrap() を使用して明示的に統合できます。呼び出しポイントを変更できない、または WebSocket.Factory を注入できないサードパーティライブラリの場合は、引き続き ft-plugin >= 1.3.8 にアップグレードする必要があります。
この Resource は、ハンドシェイクが成功した場合、サーバー側で拒否された場合、または失敗した場合に終了します。WebSocket 接続の存続時間は統計されず、メッセージ内容も収集されません。既存の Resource URL フィルタリングと RUM サンプリングルールは引き続き有効です。データには以下のフィールドが含まれます。
resource_type=websocketresource_websocket_collection_level=handshakeresource_websocket_handshake_state:値はsuccess、rejected、failedのいずれか
Crash/ANR カスタムフィールド¶
ft-sdk >= 1.7.5 では、FTRUMConfig.setIssueDataProvider(FTIssueDataProvider) を使用して、自動収集された Crash および ANR RUM Error にカスタムフィールドを追加できます。
FTRUMConfig config = new FTRUMConfig()
.setEnableTrackAppCrash(true)
.setEnableTrackAppANR(true)
.setIssueDataProvider(issue -> {
Map<String, Object> fields = new HashMap<>();
fields.put("business_scene", sceneStore.current());
fields.put("historical_issue", issue.isHistorical());
return fields;
});
FTIssueDataProvider.provideAdditionalFields(FTIssueInfo) は、Error 構築時に同期的に呼び出され、並行して実行される可能性があります。実装はスレッドセーフを保証し、I/O を避け、10 ミリ秒以内に返す必要があります。Provider を設定しても Crash または ANR 収集は自動的に有効になりません。対応する収集項目を有効にする必要があります。
- 自動収集された Java/Native Crash、および watchdog、native、
ApplicationExitInfoANR のみが Provider をトリガーします。手動 Error、Network Error、WebView Error はトリガーしません。 - Native dump または
ApplicationExitInfoから復元されたデータでは、FTIssueInfo.isHistorical()はtrueを返します。 - 戻り値は文字列、ブール値、および限定的な数値をサポートし、最大 50 エントリまでチェックされます。Key は最大 100 UTF-8 バイト、文字列値は最大 4096 UTF-8 バイト、すべてのフィールドの合計は 25 KiB を超えてはなりません。
- 無効なフィールド、制限を超えたフィールド、SDK 予約フィールド、および
error.またはerror_で始まる Key は無視されます。ビジネス側は、フィールドの内容がプライバシーとコンプライアンスの要件を満たしていることを保証する必要があります。
RUM 手動計装¶
FTRUMConfig で enableTraceUserAction、enableTraceUserView、enableTraceUserResource、setEnableTrackAppUIBlock、setEnableTrackAppCrash、setEnableTrackAppANR を設定することで、Action、View、Resource、LongTask、Error の自動収集が可能になります。カスタム収集が必要な場合は、FTRUMGlobalManager を使用して手動で報告できます。
Action¶
使用方法¶
/**
* Action を追加
*
* @param actionName action 名
* @param actionType action タイプ
* @param property 追加プロパティ(オプション)
*/
public void startAction(String actionName, String actionType, HashMap<String, Object> property)
/**
* Action を追加。このデータは Error、Resource、LongTask データと関連付けることはできません。
*
* @param actionName action 名
* @param actionType action タイプ
* @param duration ナノ秒、持続時間(オプション)
* @param property 拡張プロパティ(オプション)
*/
public void addAction(String actionName, String actionType, long duration, HashMap<String, Object> property)
/**
* action を追加
*
* @param actionName action 名
* @param actionType action タイプ
* @param property 追加プロパティ(オプション)
*/
fun startAction(actionName: String, actionType: String, property: HashMap<String, Any>)
/**
* Action を追加
*
* @param actionName action 名
* @param actionType action タイプ
* @param duration ナノ秒、持続時間(オプション)
* @param property 拡張プロパティ(オプション)
*/
fun addAction(actionName: String, actionType: String, duration: Long, property: HashMap<String, Any>)
startActionは内部で処理時間を計算するアルゴリズムを持ち、計算中に近くで発生したResource、LongTask、Errorデータとデータの関連付けを試みます。100 ミリ秒の頻繁なトリガー保護が設定されており、ユーザー操作タイプのデータに推奨されます。頻繁に呼び出す必要がある場合はaddActionを使用してください。このデータはstartActionと競合せず、また現在のResource、LongTask、Errorとのデータ関連付けは行われません。
コード例¶
// シナリオ 1
FTRUMGlobalManager.get().startAction("login", "action_type");
// シナリオ 2: 動的パラメータ
HashMap<String, Object> map = new HashMap<>();
map.put("ft_key", "ft_value");
FTRUMGlobalManager.get().startAction("login", "action_type", map);
// シナリオ 1
FTRUMGlobalManager.get().addAction("login", "action_type");
// シナリオ 2: 動的パラメータ
HashMap<String, Object> map = new HashMap<>();
map.put("ft_key", "ft_value");
FTRUMGlobalManager.get().addAction("login", "action_type", map);
// シナリオ 1
FTRUMGlobalManager.get().startAction("login", "action_type")
// シナリオ 2: 動的パラメータ
val map = HashMap<String, Any>()
map["ft_key"] = "ft_value"
FTRUMGlobalManager.get().startAction("login", "action_type", map)
// シナリオ 1
FTRUMGlobalManager.get().addAction("login", "action_type")
// シナリオ 2: 動的パラメータ
val map = HashMap<String, Any>()
map["ft_key"] = "ft_value"
FTRUMGlobalManager.get().addAction("login", "action_type", map)
View¶
使用方法¶
/**
* view 開始
*
* @param viewName 現在のページ名
* @param property 追加プロパティ(オプション)
*/
public void startView(String viewName, HashMap<String, Object> property)
/**
* view 終了
*
* @param property 追加プロパティ(オプション)
*/
public void stopView(HashMap<String, Object> property)
/**
* 現在の view の loading_time 指標を更新します。単位はナノ秒です。
*
* @param duration duration
*/
public void updateLoadTime(long duration)
/**
* view 開始
*
* @param viewName 現在のページ名
* @param property 追加プロパティ(オプション)
*/
fun startView(viewName: String, property: HashMap<String, Any>)
/**
* view 終了
*
* @param property 追加プロパティ(オプション)
*/
fun stopView(property: HashMap<String, Any>)
/**
* 現在の view の loading_time 指標を更新します。単位はナノ秒です。
*
* @param duration duration
*/
fun updateLoadTime(duration: Long)
コード例¶
@Override
protected void onResume() {
super.onResume();
// シナリオ 1
FTRUMGlobalManager.get().startView("Current Page Name");
// シナリオ 2: 動的パラメータ
HashMap<String, Object> map = new HashMap<>();
map.put("ft_key", "ft_value");
map.put("ft_key_will_change", "ft_value");
FTRUMGlobalManager.get().startView("Current Page Name", map)
}
@Override
protected void onPause() {
super.onPause();
// シナリオ 1
FTRUMGlobalManager.get().stopView();
// シナリオ 2 : 動的パラメータ
HashMap<String, Object> map = new HashMap<>();
map.put("ft_key_will_change", "ft_value_change"); // ft_key_will_change の値は stopView 時に ft_value_change に更新されます
FTRUMGlobalManager.get().stopView(map);
}
override fun onResume() {
super.onResume()
// シナリオ 1
FTRUMGlobalManager.get().startView("Current Page Name")
// シナリオ 2: 動的パラメータ
val map = HashMap<String, Any>()
map["ft_key"] = "ft_value"
map["ft_key_will_change"] = "ft_value"
FTRUMGlobalManager.get().startView("Current Page Name", map)
}
override fun onPause() {
super.onPause()
// シナリオ 1
FTRUMGlobalManager.get().stopView()
// シナリオ 2 : 動的パラメータ
val map = HashMap<String, Any>()
map["ft_key_will_change"] = "ft_value_change" // ft_key_will_change の値は、stopView 時に ft_value_change に変更されます
FTRUMGlobalManager.get().stopView(map)
}
Error¶
使用方法¶
/**
* エラー情報を追加
*
* @param log ログ
* @param message メッセージ
* @param errorType エラータイプ, ErrorType
* @param state プログラム実行状態
* @param dateline 発生時間、ナノ秒(オプション)
* @param property 追加プロパティ(オプション)
*/
public void addError(String log, String message, long dateline, ErrorType errorType,
AppState state, HashMap<String, Object> property)
/**
* エラー情報を追加
*
* @param log ログ
* @param message メッセージ
* @param errorType エラータイプ, String
* @param state プログラム実行状態
* @param dateline 発生時間、ナノ秒(オプション)
* @param property 追加プロパティ(オプション)
*/
public void addError(String log, String message, long dateline, String errorType,
AppState state, HashMap<String, Object> property)
/**
* エラー情報を追加
*
* @param log ログ
* @param message メッセージ
* @param errorType エラータイプ, ErrorType
* @param state プログラム実行状態
* @param dateline 発生時間、ナノ秒(オプション)
* @param property 追加プロパティ(オプション)
*/
fun addError(log: String, message: String, dateline: Long, errorType: ErrorType, state: AppState, property: HashMap<String, Any>)
/**
* エラー情報を追加
*
* @param log ログ
* @param message メッセージ
* @param errorType エラータイプ, String
* @param state プログラム実行状態
* @param dateline 発生時間、ナノ秒(オプション)
* @param property 追加プロパティ(オプション)
*/
fun addError(log: String, message: String, dateline: Long, errorType: String, state: AppState, property: HashMap<String, Any>)
コード例¶
// シナリオ 1:
FTRUMGlobalManager.get().addError("error log", "error msg", ErrorType.JAVA, AppState.RUN);
// シナリオ 2: 発生したエラーを遅延記録する場合、ここでの時間は通常、エラーが発生した時間です
FTRUMGlobalManager.get().addError("error log", "error msg", 16789000000000000000L, ErrorType.JAVA, AppState.RUN);
// シナリオ 3:動的パラメータ
HashMap<String, Object> map = new HashMap<>();
map.put("ft_key", "ft_value");
FTRUMGlobalManager.get().addError("error log", "error msg", ErrorType.JAVA, AppState.RUN, map);
// シナリオ 1:
FTRUMGlobalManager.get().addError("error log", "error msg", ErrorType.JAVA, AppState.RUN)
// シナリオ 2: 発生したエラーを遅延記録する場合、ここでの時間は通常、エラーが発生した時間です
FTRUMGlobalManager.get().addError("error log", "error msg", 16789000000000000000, ErrorType.JAVA, AppState.RUN)
// シナリオ 3:動的パラメータ
val map = HashMap<String, Any>()
map["ft_key"] = "ft_value"
FTRUMGlobalManager.get().addError("error log", "error msg", ErrorType.JAVA, AppState.RUN, map)
LongTask¶
使用方法¶
コード例¶
Resource¶
使用方法¶
/**
* resource 開始
*
* @param resourceId リソース ID
* @param property 追加プロパティ(オプション)
*/
public void startResource(String resourceId, HashMap<String, Object> property)
/**
* resource 終了
*
* @param resourceId リソース ID
* @param property 追加プロパティ(オプション)
*/
public void stopResource(final String resourceId, HashMap<String, Object> property)
/**
* ネットワーク転送内容を設定
*
* @param resourceId resourceId
* @param params params
* @param netStatusBean netStatusBean
*/
public void addResource(String resourceId, ResourceParams params, NetStatusBean netStatusBean)
/**
* resource 開始
*
* @param resourceId リソース ID(オプション)
*/
fun startResource(resourceId: String, property: HashMap<String, Any>)
/**
* resource 終了
*
* @param resourceId リソース ID
* @param property 追加プロパティ(オプション)
*/
fun stopResource(resourceId: String, property: HashMap<String, Any>)
/**
* ネットワーク転送内容を設定
*
* @param resourceId resourceId
* @param params params
* @param netStatusBean netStatusBean
*/
fun addResource(resourceId: String, params: ResourceParams, netStatusBean: NetStatusBean)
コード例¶
// シナリオ 1
// リクエスト開始
FTRUMGlobalManager.get().startResource("resourceId");
// ...
// リクエスト終了
FTRUMGlobalManager.get().stopResource("resourceId");
// 最後に、リクエスト終了後、リクエスト関連のデータ指標を送信
ResourceParams params = new ResourceParams();
params.setUrl("https://guance.com");
params.setResponseContentType(response.header("Content-Type"));
params.setResponseConnection(response.header("Connection"));
params.setResponseContentEncoding(response.header("Content-Encoding"));
params.setResponseHeader(response.headers().toString());
params.setRequestHeader(request.headers().toString());
params.setResourceStatus(response.code());
params.setResourceMethod(request.method());
NetStatusBean bean = new NetStatusBean();
bean.setTcpStartTime(60000000);
// ...
FTRUMGlobalManager.get().addResource("resourceId", params, bean);
// シナリオ 2 :動的パラメータの使用
HashMap<String, Object> map = new HashMap<>();
map.put("ft_key", "ft_value");
map.put("ft_key_will_change", "ft_value");
FTRUMGlobalManager.get().startResource("resourceId", map);
// ...
HashMap<String, Object> map = new HashMap<>();
map.put("ft_key_will_change", "ft_value_change"); // ft_key_will_change の値は、stopResource 時に ft_value_change に変更されます
FTRUMGlobalManager.get().stopResource(uuid, map);
// シナリオ 1
// リクエスト開始
FTRUMGlobalManager.get().startResource("resourceId")
// リクエスト終了
FTRUMGlobalManager.get().stopResource("resourceId")
// 最後に、リクエスト終了後、リクエスト関連のデータ指標を送信
val params = ResourceParams()
params.url = "https://guance.com"
params.responseContentType = response.header("Content-Type")
params.responseConnection = response.header("Connection")
params.responseContentEncoding = response.header("Content-Encoding")
params.responseHeader = response.headers.toString()
params.requestHeader = request.headers.toString()
params.resourceStatus = response.code
params.resourceMethod = request.method
val bean = NetStatusBean()
bean.tcpStartTime = 60000000
// ...
FTRUMGlobalManager.get().addResource("resourceId", params, bean)
// シナリオ 2 :動的パラメータの使用
val map = hashMapOf<String, Any>(
"ft_key" to "ft_value",
"ft_key_will_change" to "ft_value"
)
FTRUMGlobalManager.get().startResource("resourceId", map)
// ...
val map = hashMapOf<String, Any>(
"ft_key_will_change" to "ft_value_change"
)
// ft_key_will_change の値は、stopResource 時に ft_value_change に変更されます
FTRUMGlobalManager.get().stopResource(uuid, map)
| メソッド名 | 必須 | 説明 | 備考 |
|---|---|---|---|
| NetStatusBean.fetchStartTime | いいえ | リクエスト開始時間 | |
| NetStatusBean.tcpStartTime | いいえ | TCP 接続時間 | |
| NetStatusBean.tcpEndTime | いいえ | TCP 終了時間 | |
| NetStatusBean.dnsStartTime | いいえ | DNS 開始時間 | |
| NetStatusBean.dnsEndTime | いいえ | DNS 終了時間 | |
| NetStatusBean.responseStartTime | いいえ | 応答開始時間 | |
| NetStatusBean.responseEndTime | いいえ | 応答終了時間 | |
| NetStatusBean.sslStartTime | いいえ | SSL 開始時間 | |
| NetStatusBean.sslEndTime | いいえ | SSL 終了時間 | |
| NetStatusBean.property | いいえ | 追加プロパティ | |
| ResourceParams.url | はい | URL アドレス | |
| ResourceParams.requestHeader | いいえ | リクエストヘッダーパラメータ | |
| ResourceParams.responseHeader | いいえ | 応答ヘッダーパラメータ | |
| ResourceParams.responseConnection | いいえ | 応答 connection | |
| ResourceParams.responseContentType | いいえ | 応答 ContentType | |
| ResourceParams.responseContentEncoding | いいえ | 応答 ContentEncoding | |
| ResourceParams.resourceMethod | いいえ | リクエストメソッド | GET, POST など |
| ResourceParams.responseBody | いいえ | 応答 body 内容 | |
| ResourceParams.property | いいえ | 追加プロパティ |
ユーザー情報のバインドとアンバインド¶
FTSdk を使用してユーザーのバインドとアンバインドを行います。
使用方法¶
UserData¶
| メソッド名 | 説明 | 必須 | 注意 |
|---|---|---|---|
| setId | ユーザー ID を設定 | いいえ | |
| setName | ユーザー名を設定 | いいえ | |
| setEmail | メールアドレスを設定 | いいえ | |
| setExts | ユーザー拡張を設定 | いいえ | 追加ルールはアプリケーションアクセスを参照してください |
コード例¶
// ユーザーログイン成功後にこのメソッドを呼び出してユーザー情報をバインドできます
FTSdk.bindRumUserData("001");
UserData userData = new UserData();
userData.setName("test.user");
userData.setId("test.id");
userData.setEmail("test@mail.com");
Map<String, String> extMap = new HashMap<>();
extMap.put("ft_key", "ft_value");
userData.setExts(extMap);
FTSdk.bindRumUserData(userData);
// ユーザーログアウト後にこのメソッドを呼び出してユーザー情報をアンバインドできます
FTSdk.unbindRumUserData();
// ユーザーログイン成功後にこのメソッドを呼び出してユーザー情報をバインドできます
FTSdk.bindRumUserData("001")
// ユーザーの詳細データをバインド
val userData = UserData()
userData.name = "test.user"
userData.id = "test.id"
userData.email = "test@mail.com"
val extMap = HashMap<String, String>()
extMap["ft_key"] = "ft_value"
userData.setExts(extMap)
FTSdk.bindRumUserData(userData)
// ユーザーログアウト後にこのメソッドを呼び出してユーザー情報をアンバインドできます
FTSdk.unbindRumUserData()