72 lines
2.6 KiB
Kotlin
72 lines
2.6 KiB
Kotlin
package com.idle.wall.ad
|
|
|
|
import android.app.Activity
|
|
import android.util.Log
|
|
import com.idle.wall.ad.AdShowFailed
|
|
import com.idle.wall.ad.InstAdCacheManager
|
|
import com.idle.wall.ad.ShowListener
|
|
import com.tradplus.ads.base.bean.TPAdError
|
|
import com.tradplus.ads.base.bean.TPAdInfo
|
|
import com.tradplus.ads.open.interstitial.InterstitialAdListener
|
|
|
|
class AdInstShower {
|
|
private var mPlace: String
|
|
private var showListener: ShowListener? = null
|
|
private var activity: Activity? = null
|
|
|
|
constructor(activity: Activity, place: String, showListener: ShowListener?) {
|
|
this.mPlace = place
|
|
this.showListener = showListener
|
|
this.activity = activity
|
|
init()
|
|
}
|
|
|
|
constructor(place: String, showListener: ShowListener?) {
|
|
this.mPlace = place
|
|
this.showListener = showListener
|
|
init()
|
|
}
|
|
|
|
private fun init() {
|
|
val interstitialAd = InstAdCacheManager.Companion.instance.getAdCache(mPlace)
|
|
interstitialAd?.setAdListener(object : InterstitialAdListener {
|
|
//广告加载完成 首个广告源加载成功时回调 一次加载流程只会回调一次
|
|
override fun onAdLoaded(tpAdInfo: TPAdInfo?) {}
|
|
|
|
// 广告被点击
|
|
override fun onAdClicked(tpAdInfo: TPAdInfo?) {
|
|
showListener?.onAdClicked()
|
|
Log.d("ocean", "AdInstShower 广告点击回调")
|
|
}
|
|
|
|
// 广告成功展示在页面上
|
|
override fun onAdImpression(tpAdInfo: TPAdInfo?) {
|
|
showListener?.onAdShown(tpAdInfo)
|
|
Log.d("ocean", "AdInstShower 广告展示回调")
|
|
}
|
|
|
|
// 广告加载失败
|
|
override fun onAdFailed(error: TPAdError?) {}
|
|
|
|
// 广告被关闭
|
|
override fun onAdClosed(tpAdInfo: TPAdInfo?) {
|
|
showListener?.onAdClosed()
|
|
Log.d("ocean", "AdInstShower 广告关闭回调")
|
|
}
|
|
|
|
// 视频播放开始(部分广告源支持)
|
|
override fun onAdVideoStart(tpAdInfo: TPAdInfo?) {}
|
|
|
|
//视频播放结束(部分广告源支持)
|
|
override fun onAdVideoEnd(tpAdInfo: TPAdInfo?) {}
|
|
|
|
//视频播放失败(部分广告源支持)
|
|
override fun onAdVideoError(tpAdInfo: TPAdInfo?, error: TPAdError?) {
|
|
Log.d("ocean", "AdInstShower 视频广告播放失败回调->${error}")
|
|
showListener?.onAdShowFailed(AdShowFailed(error?.errorMsg.toString()))
|
|
}
|
|
})
|
|
interstitialAd?.showAd(activity!!, mPlace)
|
|
}
|
|
|
|
} |