diff --git a/bill/src/main/java/com/remax/bill/ads/ext/AdShowExt.kt b/bill/src/main/java/com/remax/bill/ads/ext/AdShowExt.kt index 7dd1fef..dd4b2ae 100644 --- a/bill/src/main/java/com/remax/bill/ads/ext/AdShowExt.kt +++ b/bill/src/main/java/com/remax/bill/ads/ext/AdShowExt.kt @@ -300,6 +300,11 @@ object AdShowExt { val winner = RewardedBiddingManager.bidding(activity) AdLogger.d("激励视频广告竞价结果: $winner") + + //---------------------------------------------------- + + + return when (winner) { BiddingWinner.ADMOB -> { AdLogger.d("使用 AdMob 展示激励视频广告") @@ -318,10 +323,9 @@ object AdShowExt { PangleRewardedAdController.getInstance().showAd( activity, BuildConfig.PANGLE_REWARDED_ID, - { pagRewardItem -> - val rewardedData = CommonRewardedData(pagRewardItem.rewardAmount.toFloat()) - rewardCallback?.invoke(rewardedData) - AdLogger.e("Pangle激励视频奖励回调, 奖励值:${pagRewardItem.rewardAmount}") + { pagRewardItem, commonRewardedData -> + rewardCallback?.invoke(commonRewardedData) + AdLogger.e("Pangle激励视频奖励回调, 奖励值:${commonRewardedData.rewardNum}") } ) } diff --git a/bill/src/main/java/com/remax/bill/ads/pangle/PangleRewardedAdController.kt b/bill/src/main/java/com/remax/bill/ads/pangle/PangleRewardedAdController.kt index 12ef463..23a512f 100644 --- a/bill/src/main/java/com/remax/bill/ads/pangle/PangleRewardedAdController.kt +++ b/bill/src/main/java/com/remax/bill/ads/pangle/PangleRewardedAdController.kt @@ -27,6 +27,7 @@ import com.remax.bill.ads.util.PositionGet import com.remax.bill.ui.dialog.ADLoadingDialog import com.remax.base.ext.KvIntDelegate import com.remax.base.report.DataReportManager +import com.remax.bill.ads.ext.CommonRewardedData import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob @@ -101,7 +102,7 @@ class PangleRewardedAdController private constructor() { suspend fun showAd( activity: Activity, adUnitId: String? = null, - onRewardEarned: ((PAGRewardItem) -> Unit)? = null + onRewardEarned: ((PAGRewardItem, CommonRewardedData) -> Unit)? = null ): AdResult { val finalAdUnitId = adUnitId ?: BuildConfig.PANGLE_REWARDED_ID @@ -248,7 +249,7 @@ class PangleRewardedAdController private constructor() { activity: Activity, rewardedAd: PAGRewardedAd, adUnitId: String, - onRewardEarned: ((PAGRewardItem) -> Unit)? + onRewardEarned: ((PAGRewardItem, CommonRewardedData) -> Unit)? ): AdResult { val applicationContext = activity.applicationContext return suspendCancellableCoroutine { continuation -> @@ -367,7 +368,17 @@ class PangleRewardedAdController private constructor() { "ad_source" to (currentAdSource ?: "Pangle") ) ) - onRewardEarned?.invoke(rewardItem) + + val pagRevenueInfo: PAGRevenueInfo? = rewardedAd.pagRevenueInfo + val ecpmInfo: PAGAdEcpmInfo? = pagRevenueInfo?.showEcpm + // Pangle 的 revenue 本身就是美元,直接使用 + val revenueUsd = ecpmInfo?.revenue?.toDoubleOrNull() ?: 0.0 + onRewardEarned?.invoke(rewardItem, CommonRewardedData(revenueUsd.toFloat())) + } + + override fun onAdReturnRevenue(pagAdEcpmInfo: PAGAdEcpmInfo?) { + super.onAdReturnRevenue(pagAdEcpmInfo) + //onRewardEarned?.invoke() } override fun onUserEarnedRewardFail(model: PAGErrorModel) {