pangle回调返回 revence

This commit is contained in:
renhaoting 2025-12-18 15:33:46 +08:00
parent cef3efaa4e
commit afa8b2405c
2 changed files with 22 additions and 7 deletions

View File

@ -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}")
}
)
}

View File

@ -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<Unit> {
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<Unit> {
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) {