コンテンツにスキップ

カスタムタグの使用

コンパイル設定方式

  1. build.gradle に複数の productFlavors を作成してタグを区別します。
android{
    //…
    productFlavors {
        prodTest {
            buildConfigField "String", "CUSTOM_VALUE", "\"Custom Test Value\""
            //…
        }
        prodPublish {
            buildConfigField "String", "CUSTOM_VALUE", "\"Custom Publish Value\""
            //…
        }
    }
}
  1. RUM 設定に対応する BuildConfig 定数を追加します。
FTSdk.initRUMWithConfig(
        new FTRUMConfig()
            .addGlobalContext(CUSTOM_STATIC_TAG, BuildConfig.CUSTOM_VALUE)
            //... その他の設定を追加
);
FTSdk.initRUMWithConfig(
            FTRUMConfig()
                .addGlobalContext(CUSTOM_STATIC_TAG, BuildConfig.CUSTOM_VALUE)
                //… その他の設定を追加
        )

実行時のファイル読み書き方式

  1. SharedPreferences などのファイル形式のデータを保存し、SDK の設定箇所でタグデータを取得するコードを追加します。
SharedPreferences sp = context.getSharedPreferences(SP_STORE_DATA, MODE_PRIVATE);
String customDynamicValue = sp.getString(CUSTOM_DYNAMIC_TAG, "not set");

// RUM の設定
FTSdk.initRUMWithConfig(
     new FTRUMConfig().addGlobalContext(CUSTOM_DYNAMIC_TAG, customDynamicValue)
     //… その他の設定を追加
);
val sp = context.getSharedPreferences(SP_STORE_DATA, MODE_PRIVATE)
val customDynamicValue = sp.getString(CUSTOM_DYNAMIC_TAG, "not set")

// RUM の設定
FTSdk.initRUMWithConfig(
     FTRUMConfig().addGlobalContext(CUSTOM_DYNAMIC_TAG, customDynamicValue!!)
     //… その他の設定を追加
)
  1. 必要に応じてファイルデータを変更するメソッドを追加します。
public void setDynamicParams(Context context, String value) {
    SharedPreferences sp = context.getSharedPreferences(SP_STORE_DATA, MODE_PRIVATE);
    sp.edit().putString(CUSTOM_DYNAMIC_TAG, value).apply();
}
fun setDynamicParams(context: Context, value: String) {
            val sp = context.getSharedPreferences(SP_STORE_DATA, MODE_PRIVATE)
            sp.edit().putString(CUSTOM_DYNAMIC_TAG, value).apply()

        }
  1. 最後にアプリケーションを再起動します。詳細は SDK Demo をご参照ください。

SDK 実行時に追加

SDK の初期化完了後、FTSdk.appendGlobalContext(globalContext)FTSdk.appendRUMGlobalContext(globalContext)FTSdk.appendLogGlobalContext(globalContext) を使用して動的にタグを追加できます。設定後すぐに反映されます。その後、RUM または Log の以降のデータ送信時に、対応するタグが自動的に付与されます。

この使用方法は、ログイン、API リクエスト、ローカルの非同期初期化など、タグデータを遅延して取得する必要があるシナリオに適しています。

!!! warning

SDK 初期化設定内の `globalContext` や SDK 組み込みフィールドと同じキーを使用しないでください。同名の場合は、初期化設定の静的タグが動的に追加されたタグよりも優先されます。

使用方法

/**
 * 動的にグローバルタグを設定する
 * @param globalContext
 */
public static void appendGlobalContext(HashMap<String,Object> globalContext)

/**
 * 動的に RUM グローバルタグを設定する
 * @param globalContext
 */
public static void appendRUMGlobalContext(HashMap<String,Object> globalContext)

/**
 * 動的にロググローバルタグを設定する
 * @param globalContext
 */
public static void appendLogGlobalContext(HashMap<String,Object> globalContext)
/**
 * 動的にグローバルタグを設定する
 * @param globalContext
 */
fun appendGlobalContext(globalContext: HashMap<String, Any>)

/**
 * 動的に RUM グローバルタグを設定する
 * @param globalContext
 */
fun appendRUMGlobalContext(globalContext: HashMap<String, Any>)

/**
 * 動的にロググローバルタグを設定する
 * @param globalContext
 */
fun appendLogGlobalContext(globalContext: HashMap<String, Any>)
// SDK 初期化の疑似コード。ネットワークからパラメータを取得後、タグを設定する

FTSdk.init() 

getInfoFromNet(info){
    HashMap<String, Object> globalContext = new HashMap<>();
    globalContext.put("delay_key", info.value);
    FTSdk.appendGlobalContext(globalContext)
}

コード例

HashMap<String, Object> globalContext = new HashMap<>();
globalContext.put("global_key", "global_value");
FTSdk.appendGlobalContext(globalContext);

HashMap<String, Object> rumGlobalContext = new HashMap<>();
rumGlobalContext.put("rum_key", "rum_value");
FTSdk.appendRUMGlobalContext(rumGlobalContext);

HashMap<String, Object> logGlobalContext = new HashMap<>();
logGlobalContext.put("log_key", "log_value");
FTSdk.appendLogGlobalContext(logGlobalContext);
val globalContext = hashMapOf<String, Any>(
    "global_key" to "global_value"
)
FTSdk.appendGlobalContext(globalContext)

val rumGlobalContext = hashMapOf<String, Any>(
    "rum_key" to "rum_value"
)
FTSdk.appendRUMGlobalContext(rumGlobalContext)

val logGlobalContext = hashMapOf<String, Any>(
    "log_key" to "log_value"
)
FTSdk.appendLogGlobalContext(logGlobalContext)

フィードバック

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