diff --git a/StatisticReporter/src/main/java/com/gamedog/statisticreporter/StatisticUtil.kt b/StatisticReporter/src/main/java/com/gamedog/statisticreporter/StatisticUtil.kt index 22e87d2..19370ad 100644 --- a/StatisticReporter/src/main/java/com/gamedog/statisticreporter/StatisticUtil.kt +++ b/StatisticReporter/src/main/java/com/gamedog/statisticreporter/StatisticUtil.kt @@ -87,10 +87,12 @@ object StatisticUtil { override fun setCommonParams(params: Map) { FireBaseManager.instance().setCommonParams(params) + ShushuManager.instance().setCommonParams(params) } override fun setUserParams(params: Map) { FireBaseManager.instance().setUserParams(params) + ShushuManager.instance().setUserParams(params) } }) } diff --git a/StatisticReporter/src/main/java/com/gamedog/statisticreporter/shushu/ShushuManager.kt b/StatisticReporter/src/main/java/com/gamedog/statisticreporter/shushu/ShushuManager.kt index 10bc60d..b2208bf 100644 --- a/StatisticReporter/src/main/java/com/gamedog/statisticreporter/shushu/ShushuManager.kt +++ b/StatisticReporter/src/main/java/com/gamedog/statisticreporter/shushu/ShushuManager.kt @@ -6,6 +6,8 @@ import cn.thinkingdata.analytics.TDAnalytics.TDAutoTrackEventType import cn.thinkingdata.analytics.TDConfig import cn.thinkingdata.analytics.ThinkingAnalyticsSDK import com.ama.core.architecture.BaseApp +import com.ama.core.architecture.util.AndroidUtil.Companion.gson +import com.gamedog.statisticreporter.StatisticLogger import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob @@ -108,7 +110,46 @@ class ShushuManager private constructor() { TDAnalytics.enableAutoTrack(TDAutoTrackEventType.APP_START or TDAutoTrackEventType.APP_END or TDAutoTrackEventType.APP_INSTALL ) } + private fun mapToJsonObject(map: Map): JSONObject { + return try { + val jsonString = gson.toJson(map) + JSONObject(jsonString) + } catch (e: Exception) { + StatisticLogger.e("Map转JSONObject失败: ${e.message}") + JSONObject() + } + } + fun setCommonParams(params: Map) { + try { + // 将Map转换为JSONObject + val jsonObject = mapToJsonObject(params) + + // 数数SDK使用userSet设置用户属性,传入JSONObject + TDAnalytics.setSuperProperties(jsonObject) + + StatisticLogger.d("数数SDK公共参数设置完成: $jsonObject") + + } catch (e: Exception) { + StatisticLogger.e("数数SDK设置公共参数失败", e) + } + } + + + fun setUserParams(params: Map) { + try { + // 将Map转换为JSONObject + val jsonObject = mapToJsonObject(params) + + // 数数SDK使用userSet设置用户属性,传入JSONObject + TDAnalytics.userSet(jsonObject) + + StatisticLogger.d("数数SDK用户参数设置完成: $jsonObject") + + } catch (e: Exception) { + StatisticLogger.e("数数SDK设置用户参数失败", e) + } + } }