From 5ebb3153b85f5b42f67688bf535cb258dbbf0a47 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Thu, 22 Jan 2026 15:20:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=95=B0=20=E5=85=AC=E5=85=B1super?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../statisticreporter/StatisticUtil.kt | 22 +++++++++++++++++++ .../statisticreporter/adjust/AdjustManager.kt | 7 ++++++ .../java/com/gamedog/vididin/beans/Account.kt | 2 ++ .../java/com/viddin/videos/free/VidiDinApp.kt | 11 ++++++++++ 4 files changed, 42 insertions(+) diff --git a/StatisticReporter/src/main/java/com/gamedog/statisticreporter/StatisticUtil.kt b/StatisticReporter/src/main/java/com/gamedog/statisticreporter/StatisticUtil.kt index 7904b6b..9bb4b47 100644 --- a/StatisticReporter/src/main/java/com/gamedog/statisticreporter/StatisticUtil.kt +++ b/StatisticReporter/src/main/java/com/gamedog/statisticreporter/StatisticUtil.kt @@ -1,5 +1,6 @@ package com.gamedog.statisticreporter +import com.gamedog.statisticreporter.adjust.AdjustManager import com.gamedog.statisticreporter.firbase.FireBaseManager import com.gamedog.statisticreporter.shushu.ShushuManager import com.remax.base.report.DataReportManager @@ -9,9 +10,14 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.launch +import org.json.JSONObject object StatisticUtil { + private lateinit var mGoldTimesFun: () -> Int + private lateinit var mCashTimesFun: () -> Int + private lateinit var mGoldFun: () -> Long + private lateinit var mCashFun: () -> Double private val mBgScope = CoroutineScope(SupervisorJob() + Dispatchers.Default) const val KEY_Loading_Start: String = "Loading_Start" @@ -56,6 +62,14 @@ object StatisticUtil { fun reportEvents(eventKey: String, eventData: Map? = null) { mBgScope.launch { + val superProperties = JSONObject().apply { + put("Money_Num", mCashFun.invoke()) + put("Coin_Num", mGoldFun.invoke()) + put("RV_Times_Coins", mGoldTimesFun.invoke()) + put("RV_Times_Money", mCashTimesFun.invoke()) + put("ad_network", AdjustManager.instance().getNetwork()) + } + FireBaseManager.instance().reportEvent(eventKey, eventData) ShushuManager.instance().reportEvent(eventKey, eventData) @@ -96,6 +110,14 @@ object StatisticUtil { }) } + fun initCallbacks(cashCallback: ()->Double, goldCallback: ()->Long, + cashTimesCallback: ()->Int, goldTimesCallback: ()->Int) { + mCashFun = cashCallback + mGoldFun = goldCallback + mCashTimesFun = cashTimesCallback + mGoldTimesFun = goldTimesCallback + } + } diff --git a/StatisticReporter/src/main/java/com/gamedog/statisticreporter/adjust/AdjustManager.kt b/StatisticReporter/src/main/java/com/gamedog/statisticreporter/adjust/AdjustManager.kt index 08a8425..a82ff84 100644 --- a/StatisticReporter/src/main/java/com/gamedog/statisticreporter/adjust/AdjustManager.kt +++ b/StatisticReporter/src/main/java/com/gamedog/statisticreporter/adjust/AdjustManager.kt @@ -50,6 +50,7 @@ class AdjustManager private constructor() { } + private var mAttribution: AdjustAttribution? = null private var initStartTime: Long = 0 private var mAdjustInitStartMs: Long = 0 @@ -59,6 +60,7 @@ class AdjustManager private constructor() { run { // 所有用户一开始都是自然用户的状态,需要通过调用setOnAttributionChangedListener这个方法(这个方法就是返回用户改变后的状态),获得买量来源信息 Adjust.getAttribution { attribution -> + mAttribution = attribution val networkFrom = attribution.network var userTypeInt = 0 if (!TextUtils.isEmpty(networkFrom)) { @@ -151,6 +153,8 @@ class AdjustManager private constructor() { } private fun handleAttribution(attr: AdjustAttribution) { + mAttribution = attr + // 设置公共参数,并限制长度 CommonParamsManager.adNetwork = (attr.network ?: "").take(10) CommonParamsManager.campaign = (attr.campaign ?: "").take(20) @@ -265,6 +269,9 @@ class AdjustManager private constructor() { return if (randomInt <= 2) "ironsource_sdk" else "applovin_max_sdk" } + fun getNetwork(): String { + return mAttribution?.network ?: "" + } } diff --git a/app/src/main/java/com/gamedog/vididin/beans/Account.kt b/app/src/main/java/com/gamedog/vididin/beans/Account.kt index 83deb5e..95f5be3 100644 --- a/app/src/main/java/com/gamedog/vididin/beans/Account.kt +++ b/app/src/main/java/com/gamedog/vididin/beans/Account.kt @@ -16,6 +16,8 @@ data class Account( var diamondCount: Int = 0, var bankInfo: BankInfo? = null, val zeroBuyServerSecret: String = "", + var rvTimesGold: Int = 0, + var rvTimesCash: Int = 0, ) { } diff --git a/app/src/main/java/com/viddin/videos/free/VidiDinApp.kt b/app/src/main/java/com/viddin/videos/free/VidiDinApp.kt index 825b80d..82bbe20 100644 --- a/app/src/main/java/com/viddin/videos/free/VidiDinApp.kt +++ b/app/src/main/java/com/viddin/videos/free/VidiDinApp.kt @@ -1,6 +1,7 @@ package com.viddin.videos.free import com.ama.core.architecture.BaseApp +import com.gamedog.statisticreporter.StatisticUtil import com.gamedog.statisticreporter.adjust.AdjustManager import com.gamedog.statisticreporter.firbase.FireBaseManager import com.gamedog.statisticreporter.shushu.ShushuManager @@ -26,5 +27,15 @@ class VidiDinApp : BaseApp() { ShushuManager.Companion.instance().initShushu(VidiConst.SHUSHU_APP_ID, VidiConst.SHUSHU_SERVER_URL) FireBaseManager.Companion.instance() AdjustManager.Companion.instance().initSdk(VidiConst.ADJUST_TOKEN) + + StatisticUtil.initCallbacks( { + AccountManager.getCash() + }, { + AccountManager.getGold() + }, { + 1 + }, { + 1 + } ) } } \ No newline at end of file