カスタムタグの使用¶
本ドキュメントでは、React Native SDK のグローバルコンテキストとカスタムタグに関する機能について説明します。
実行時のカスタムタグ追加¶
使用方法¶
/**
* カスタムグローバルパラメータを追加します。RUM、Log データに適用されます。
*/
appendGlobalContext(context: object): Promise<void>;
/**
* カスタム RUM グローバルパラメータを追加します。RUM データに適用されます。
*/
appendRUMGlobalContext(context: object): Promise<void>;
/**
* カスタム Log グローバルパラメータを追加します。Log データに適用されます。
*/
appendLogGlobalContext(context: object): Promise<void>;
使用例¶
FTMobileReactNative.appendGlobalContext({ global_key: 'global_value' });
FTMobileReactNative.appendRUMGlobalContext({ rum_key: 'rum_value' });
FTMobileReactNative.appendLogGlobalContext({ log_key: 'log_value' });
カスタムタグの使用例¶
コンパイル設定による方法¶
react-native-config を使用してマルチ環境を設定し、環境ごとに異なるカスタムタグ値を設定します。
let rumConfig: FTRUMConfig = {
iOSAppId: iOSAppId,
androidAppId: androidAppId,
monitorType: MonitorType.all,
enableTrackUserAction: true,
enableTrackUserResource: true,
enableTrackError: true,
enableNativeUserAction: false,
enableNativeUserResource: false,
enableNativeUserView: false,
globalContext: { track_id: Config.TRACK_ID },
};
await FTReactNativeRUM.setConfig(rumConfig);
実行時のファイル読み書きによる方法¶
AsyncStorageなどのデータ永続化手段を用いて、SDK 初期化時に保存されたカスタムタグを読み取ります。
let rumConfig: FTRUMConfig = {
iOSAppId: iOSAppId,
androidAppId: androidAppId,
monitorType: MonitorType.all,
enableTrackUserAction: true,
enableTrackUserResource: true,
enableTrackError: true,
enableNativeUserAction: false,
enableNativeUserResource: false,
enableNativeUserView: false,
};
await new Promise(function (resolve) {
AsyncStorage.getItem('track_id', (error, result) => {
if (result === null) {
console.log('取得失敗' + error);
} else {
console.log('取得成功' + result);
if (result != undefined) {
rumConfig.globalContext = { track_id: result };
}
}
resolve(FTReactNativeRUM.setConfig(rumConfig));
});
});
- 任意の場所でカスタムタグをファイルに追加または変更します。
AsyncStorage.setItem('track_id', valueString, (error) => {
if (error) {
console.log('保存失敗' + error);
} else {
console.log('保存成功');
}
});
- 最後にアプリケーションを再起動すると反映されます。
SDK 実行時の動的追加¶
SDK の初期化完了後、FTMobileReactNative.appendGlobalContext(globalContext)、FTMobileReactNative.appendRUMGlobalContext(globalContext)、FTMobileReactNative.appendLogGlobalContext(globalContext) を使用して動的にタグを追加できます。設定後すぐに反映されます。
!!! warning
SDK 初期化設定の `globalContext` や SDK 内蔵フィールドと同じキーを使用しないでください。同名の場合、初期化設定の静的なタグが動的に追加されたタグより優先されます。
FTMobileReactNative.sdkConfig(config);
function getInfoFromNet(info: Info) {
const globalContext = { delay_key: info.value };
FTMobileReactNative.appendGlobalContext(globalContext);
}
追加ルールについては Android 競合フィールド説明 を参照してください。