|
|
@@ -19,18 +19,23 @@ import com.anythink.core.api.AdError
|
|
|
import com.anythink.interstitial.api.ATInterstitial
|
|
|
import com.anythink.interstitial.api.ATInterstitialListener
|
|
|
import com.anythink.nativead.api.ATNative
|
|
|
+import com.anythink.nativead.api.ATNativeAdView
|
|
|
+import com.anythink.nativead.api.ATNativeEventListener
|
|
|
import com.anythink.nativead.api.ATNativeNetworkListener
|
|
|
import com.anythink.nativead.api.NativeAd
|
|
|
import com.anythink.rewardvideo.api.ATRewardVideoAd
|
|
|
import com.anythink.rewardvideo.api.ATRewardVideoListener
|
|
|
+import com.blankj.utilcode.util.GsonUtils
|
|
|
import com.blankj.utilcode.util.LogUtils
|
|
|
import com.blankj.utilcode.util.ToastUtils
|
|
|
import com.blankj.utilcode.util.ToastUtils.MODE
|
|
|
import com.gyf.immersionbar.ImmersionBar
|
|
|
+import com.ytpm.hydtw.Constants
|
|
|
import com.ytpm.hydtw.R
|
|
|
import com.ytpm.hydtw.adapter.MineAdapter
|
|
|
import com.ytpm.hydtw.dao.Question
|
|
|
import com.ytpm.hydtw.dao.Record
|
|
|
+import com.ytpm.hydtw.dao.UserInfo
|
|
|
import com.ytpm.hydtw.databinding.FragmentDatiBinding
|
|
|
import com.ytpm.hydtw.loading.GlobalLoading
|
|
|
import com.ytpm.hydtw.loading.LoadingDialog
|
|
|
@@ -59,20 +64,44 @@ import java.time.format.DateTimeFormatter
|
|
|
class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
ATBannerListener {
|
|
|
|
|
|
+ private var mBannerView: ATBannerView? = null
|
|
|
private var atNative: ATNative? = null
|
|
|
private var interstitialAd: ATInterstitial? = null
|
|
|
private var startAdTime: String? = null
|
|
|
private var endAdTime: String? = null
|
|
|
+ private var startBannerAdTime: String? = null
|
|
|
+ private var endBannerAdTime: String? = null
|
|
|
+ private var startNativeAdTime: String? = null
|
|
|
+ private var endNativeAdTime: String? = null
|
|
|
+ private var startInAdTime: String? = null
|
|
|
+ private var endInAdTime: String? = null
|
|
|
private var mRewardVideoAd: ATRewardVideoAd? = null
|
|
|
+
|
|
|
private var job: Job? = null
|
|
|
private var scope: CoroutineScope? = null
|
|
|
+ private var useTimer: Int = 0
|
|
|
+
|
|
|
private var job1: Job? = null
|
|
|
private var scope1: CoroutineScope? = null
|
|
|
private var inAdTime: Int = 0
|
|
|
+
|
|
|
+ private var job2: Job? = null
|
|
|
+ private var scope2: CoroutineScope? = null
|
|
|
+ private var nativeAdTime: Int = 0
|
|
|
+
|
|
|
+ private var job3: Job? = null
|
|
|
+ private var scope3: CoroutineScope? = null
|
|
|
+ private var getTlTime = 30
|
|
|
+ private var pauseGetTlTime = false
|
|
|
+
|
|
|
+ private var job4: Job? = null
|
|
|
+ private var scope4: CoroutineScope? = null
|
|
|
+ private var getTlShowBtnTime = 8
|
|
|
+ private var pauseGetTlShowBtnTime = false
|
|
|
+
|
|
|
private var getTlCountDownTimer: CountDownTimer? = null
|
|
|
private var getTlShowBtnCountDownTimer: CountDownTimer? = null
|
|
|
private var startReloadRewardVideoAd: CountDownTimer? = null
|
|
|
- private var useTimer: Int = 0
|
|
|
private var questions: ArrayList<Question>? = arrayListOf()
|
|
|
private lateinit var binding: FragmentDatiBinding
|
|
|
private var nowIndex = 0
|
|
|
@@ -81,9 +110,6 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
private var jrdd = 0
|
|
|
private var lsdd = 0
|
|
|
|
|
|
- private var getTlTime = 20
|
|
|
- private var getTlShowBtnTime = 8
|
|
|
-
|
|
|
private var isGrDialogShow = false
|
|
|
private var isGetTlDialogShow = false
|
|
|
|
|
|
@@ -108,6 +134,7 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
initData()
|
|
|
initUserTime()
|
|
|
initInAdTime()
|
|
|
+// initNativeTime()
|
|
|
loadBannerAd()
|
|
|
loadNativeAd()
|
|
|
loadInterstitial()
|
|
|
@@ -116,6 +143,7 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
return binding.root
|
|
|
}
|
|
|
|
|
|
+
|
|
|
private fun initView() {
|
|
|
|
|
|
val headImg = UserInfoSpUtils().getHeadImg()
|
|
|
@@ -159,9 +187,6 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
binding.switch2.isChecked = true
|
|
|
|
|
|
startGetTlTime()
|
|
|
-
|
|
|
- startGetTlShowBtnTime()
|
|
|
-
|
|
|
initGetTlTime()
|
|
|
|
|
|
binding.dialogGr.setOnClickListener {
|
|
|
@@ -180,6 +205,9 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
binding.dialogGrClose.setOnClickListener {
|
|
|
this.isGrDialogShow = false
|
|
|
binding.dialogGr.visibility = View.GONE
|
|
|
+
|
|
|
+ loadBannerAd()
|
|
|
+ loadNativeAd()
|
|
|
}
|
|
|
|
|
|
binding.getTlCl.setOnClickListener {
|
|
|
@@ -197,7 +225,17 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
binding.dialgoGettlLl.visibility = View.VISIBLE
|
|
|
}
|
|
|
|
|
|
- getTlShowBtnCountDownTimer?.start()
|
|
|
+ var nowTime = ""
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
|
+ val current = LocalDateTime.now()
|
|
|
+ val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
|
|
|
+ nowTime = current.format(formatter)
|
|
|
+ } else {
|
|
|
+ nowTime = DateTimeUtils.getCurrentDateTime()
|
|
|
+ }
|
|
|
+ binding.dialogGettlTime.text = nowTime
|
|
|
+
|
|
|
+ startGetTlShowBtnTime()
|
|
|
}
|
|
|
|
|
|
binding.dialgoGettlLl.setOnClickListener { }
|
|
|
@@ -209,6 +247,8 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
this.isGetTlDialogShow = false
|
|
|
binding.dialgoGettlLl.visibility = View.GONE
|
|
|
initGetTlBtnTime()
|
|
|
+ loadBannerAd()
|
|
|
+ loadNativeAd()
|
|
|
}
|
|
|
|
|
|
binding.a1.setOnClickListener {
|
|
|
@@ -258,9 +298,8 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
while (isActive) {
|
|
|
if (!isInAdPaunse) {
|
|
|
inAdTime++
|
|
|
- if (inAdTime == 60) {
|
|
|
-
|
|
|
- interstitialAd?.show(activity, getATShowConfig1())
|
|
|
+ if (inAdTime == 30) {
|
|
|
+ interstitialAd?.load()
|
|
|
job1?.cancel()
|
|
|
scope1?.cancel()
|
|
|
job1 = null
|
|
|
@@ -273,14 +312,45 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private fun initNativeTime() {
|
|
|
+ if (job2 == null) {
|
|
|
+ job2 = Job()
|
|
|
+ }
|
|
|
+
|
|
|
+ if (scope2 == null) {
|
|
|
+ scope2 = CoroutineScope(Dispatchers.Main + job2!!)
|
|
|
+ }
|
|
|
+
|
|
|
+ scope2!!.launch {
|
|
|
+ while (isActive) {
|
|
|
+ nativeAdTime++
|
|
|
+ if (nativeAdTime == 40) {
|
|
|
+
|
|
|
+ if (atNative?.checkAdStatus()?.isLoading == false) {
|
|
|
+ atNative?.makeAdRequest()
|
|
|
+ }
|
|
|
+ job2?.cancel()
|
|
|
+ scope2?.cancel()
|
|
|
+ job2 = null
|
|
|
+ scope2 = null
|
|
|
+ nativeAdTime = 0
|
|
|
+ }
|
|
|
+ delay(1000)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
override fun onPause() {
|
|
|
super.onPause()
|
|
|
this.isInAdPaunse = true
|
|
|
+ this.pauseGetTlShowBtnTime = true
|
|
|
}
|
|
|
|
|
|
override fun onResume() {
|
|
|
super.onResume()
|
|
|
this.isInAdPaunse = false
|
|
|
+ this.pauseGetTlShowBtnTime = false
|
|
|
+ getUserInfo()
|
|
|
}
|
|
|
|
|
|
private fun initDialogGetTl() {
|
|
|
@@ -307,7 +377,14 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
map["userId"] = UserInfoSpUtils().getUserId()
|
|
|
|
|
|
val requestBody = BaseRetrofit.getRequestBodyByMapToJson(map)
|
|
|
- BaseRetrofit.getInstance().apiService.answerQuestion(requestBody)
|
|
|
+
|
|
|
+ var url = if (Constants.isDebug) {
|
|
|
+ Constants.ANSWER_QUESTION
|
|
|
+ } else {
|
|
|
+ Constants.FULL_URL_V2 + Constants.ANSWER_QUESTION
|
|
|
+ }
|
|
|
+
|
|
|
+ BaseRetrofit.getInstance().apiService.answerQuestion(url, requestBody)
|
|
|
.enqueue(object : Callback2<Any>() {
|
|
|
override fun success(body: Any?) {
|
|
|
val userinfo = UserInfoSpUtils().getUserInfo()
|
|
|
@@ -349,38 +426,45 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
|
|
|
private fun addPower() {
|
|
|
|
|
|
+ var url = if (Constants.isDebug) {
|
|
|
+ Constants.ADD_POWER
|
|
|
+ } else {
|
|
|
+ Constants.FULL_URL_V2 + Constants.ADD_POWER
|
|
|
+ }
|
|
|
+
|
|
|
val userId = UserInfoSpUtils().getUserId()
|
|
|
- BaseRetrofit.getInstance().apiService.addPower(userId).enqueue(object : Callback2<Any>() {
|
|
|
- override fun success(body: Any?) {
|
|
|
- tl++
|
|
|
+ BaseRetrofit.getInstance().apiService.addPower(url, userId)
|
|
|
+ .enqueue(object : Callback2<Any>() {
|
|
|
+ override fun success(body: Any?) {
|
|
|
+ tl++
|
|
|
|
|
|
- val user = UserInfoSpUtils().getUserInfo()
|
|
|
- user.power = tl
|
|
|
- UserInfoSpUtils().changeValue(user)
|
|
|
+ val user = UserInfoSpUtils().getUserInfo()
|
|
|
+ user.power = tl
|
|
|
+ UserInfoSpUtils().changeValue(user)
|
|
|
|
|
|
- isGetTlDialogShow = false
|
|
|
- binding.dialgoGettlLl.visibility = View.GONE
|
|
|
- changeLever()
|
|
|
- initGetTlBtnTime()
|
|
|
- initGetTlTime()
|
|
|
- }
|
|
|
+ isGetTlDialogShow = false
|
|
|
+ binding.dialgoGettlLl.visibility = View.GONE
|
|
|
+ changeLever()
|
|
|
+ initGetTlBtnTime()
|
|
|
+ initGetTlTime()
|
|
|
+ }
|
|
|
|
|
|
- override fun fail(msg: String?) {
|
|
|
- ToastUtils
|
|
|
- .make()
|
|
|
- .setMode(MODE.DARK)
|
|
|
- .setGravity(Gravity.CENTER, 0, 0)
|
|
|
- .setTopIcon(R.mipmap.icon_fail)
|
|
|
- .setDurationIsLong(true)
|
|
|
- .show(msg)
|
|
|
- }
|
|
|
- })
|
|
|
+ override fun fail(msg: String?) {
|
|
|
+ ToastUtils
|
|
|
+ .make()
|
|
|
+ .setMode(MODE.DARK)
|
|
|
+ .setGravity(Gravity.CENTER, 0, 0)
|
|
|
+ .setTopIcon(R.mipmap.icon_fail)
|
|
|
+ .setDurationIsLong(true)
|
|
|
+ .show(msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
@SuppressLint("SetTextI18n")
|
|
|
private fun initGetTlTime() {
|
|
|
binding.zz.visibility = View.VISIBLE
|
|
|
- getTlTime = 20
|
|
|
+ getTlTime = 30
|
|
|
binding.zz.text = "${getTlTime}s"
|
|
|
getTlCountDownTimer?.start()
|
|
|
}
|
|
|
@@ -396,25 +480,56 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
|
|
|
private fun startGetTlShowBtnTime() {
|
|
|
|
|
|
- if (getTlShowBtnCountDownTimer != null) {
|
|
|
- return
|
|
|
+ if (job4 == null) {
|
|
|
+ job4 = Job()
|
|
|
}
|
|
|
- this.getTlShowBtnTime = 8
|
|
|
- getTlShowBtnCountDownTimer =
|
|
|
- object : CountDownTimer((getTlShowBtnTime * 1000).toLong(), 1000) {
|
|
|
- @SuppressLint("SetTextI18n")
|
|
|
- override fun onTick(millisUntilFinished: Long) {
|
|
|
- val secondsRemaining = millisUntilFinished / 1000
|
|
|
- getTlShowBtnTime--
|
|
|
- binding.dialgoGettlTime.text = "${secondsRemaining}s"
|
|
|
- }
|
|
|
+ if (scope4 == null) {
|
|
|
+ scope4 = CoroutineScope(Dispatchers.Main + job4!!)
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
- override fun onFinish() {
|
|
|
- binding.dialgoGettlTime.visibility = View.GONE
|
|
|
- binding.dialotGettlBtnTx.visibility = View.VISIBLE
|
|
|
- binding.getTlDialogClose.visibility = View.VISIBLE
|
|
|
+ scope4!!.launch {
|
|
|
+ while (isActive) {
|
|
|
+ if (!pauseGetTlShowBtnTime) {
|
|
|
+ getTlShowBtnTime--
|
|
|
+ if (getTlShowBtnTime <= 0) {
|
|
|
+ binding.dialgoGettlTime.visibility = View.GONE
|
|
|
+ binding.dialotGettlBtnTx.visibility = View.VISIBLE
|
|
|
+ binding.getTlDialogClose.visibility = View.VISIBLE
|
|
|
+
|
|
|
+ job4?.cancel()
|
|
|
+ scope4?.cancel()
|
|
|
+ job4 = null
|
|
|
+ scope4 = null
|
|
|
+ getTlShowBtnTime = 8
|
|
|
+ } else {
|
|
|
+ binding.dialgoGettlTime.text = "${getTlShowBtnTime}s"
|
|
|
+ }
|
|
|
}
|
|
|
+ delay(1000)
|
|
|
}
|
|
|
+ }
|
|
|
+//
|
|
|
+// if (getTlShowBtnCountDownTimer != null) {
|
|
|
+// return
|
|
|
+// }
|
|
|
+// this.getTlShowBtnTime = 8
|
|
|
+// getTlShowBtnCountDownTimer =
|
|
|
+// object : CountDownTimer((getTlShowBtnTime * 1000).toLong(), 1000) {
|
|
|
+// @SuppressLint("SetTextI18n")
|
|
|
+// override fun onTick(millisUntilFinished: Long) {
|
|
|
+// val secondsRemaining = millisUntilFinished / 1000
|
|
|
+// getTlShowBtnTime--
|
|
|
+// binding.dialgoGettlTime.text = "${secondsRemaining}s"
|
|
|
+// }
|
|
|
+//
|
|
|
+// override fun onFinish() {
|
|
|
+// getTlShowBtnTime = 0
|
|
|
+// binding.dialgoGettlTime.visibility = View.GONE
|
|
|
+// binding.dialotGettlBtnTx.visibility = View.VISIBLE
|
|
|
+// binding.getTlDialogClose.visibility = View.VISIBLE
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
private fun startGetTlTime() {
|
|
|
@@ -423,7 +538,7 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- this.getTlTime = 20
|
|
|
+ this.getTlTime = 30
|
|
|
getTlCountDownTimer = object : CountDownTimer((getTlTime * 1000).toLong(), 1000) {
|
|
|
@SuppressLint("SetTextI18n")
|
|
|
override fun onTick(millisUntilFinished: Long) {
|
|
|
@@ -433,6 +548,7 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
}
|
|
|
|
|
|
override fun onFinish() {
|
|
|
+ getTlTime = 0
|
|
|
binding.zz.visibility = View.GONE
|
|
|
}
|
|
|
}
|
|
|
@@ -470,8 +586,12 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
}
|
|
|
|
|
|
private fun initData() {
|
|
|
-
|
|
|
- BaseRetrofit.getInstance().apiService.questions.enqueue(object :
|
|
|
+ var url = if (Constants.isDebug) {
|
|
|
+ Constants.GET_QUESTIONS
|
|
|
+ } else {
|
|
|
+ Constants.FULL_URL_V2 + Constants.GET_QUESTIONS
|
|
|
+ }
|
|
|
+ BaseRetrofit.getInstance().apiService.getQuestions(url).enqueue(object :
|
|
|
Callback2<List<Question>>() {
|
|
|
override fun success(body: List<Question>?) {
|
|
|
binding.answerCl.visibility = View.VISIBLE
|
|
|
@@ -644,8 +764,9 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
|
|
|
private fun loadAd() {
|
|
|
if (mRewardVideoAd == null) {
|
|
|
- mRewardVideoAd = ATRewardVideoAd(context, "b68400aae18fc0")
|
|
|
+ mRewardVideoAd = ATRewardVideoAd(context, Constants.TAKU_REWARD_PID)
|
|
|
}
|
|
|
+
|
|
|
val userid = UserInfoSpUtils().getUserInfo().userId
|
|
|
val userdata = UserInfoSpUtils().getUserInfo().nickName
|
|
|
val localMap: MutableMap<String, Any> = HashMap()
|
|
|
@@ -716,8 +837,10 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
|
|
|
override fun onRewardedVideoAdClosed(p0: ATAdInfo?) {
|
|
|
LogUtils.e("DFDFDF=onRewardedVideoAdClosed${p0.toString()}")
|
|
|
+ loadBannerAd()
|
|
|
+ loadNativeAd()
|
|
|
if (!isRewardedVideoFinish) {
|
|
|
- ToastUtils.showShort("请观看完广告再关闭!")
|
|
|
+ ToastUtils.showLong("获取奖励失败,请观看完广告再关闭!")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -726,7 +849,7 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
}
|
|
|
|
|
|
override fun onReward(p0: ATAdInfo?) {
|
|
|
-
|
|
|
+ isRewardedVideoFinish = true
|
|
|
LogUtils.e("DFDFDF=onReward${p0.toString()}")
|
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
|
val current = LocalDateTime.now()
|
|
|
@@ -736,16 +859,16 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
endAdTime = DateTimeUtils.getCurrentDateTime()
|
|
|
}
|
|
|
|
|
|
- saveRecord(p0)
|
|
|
+ saveRecord(p0, startAdTime.toString(), endAdTime.toString())
|
|
|
}
|
|
|
|
|
|
- private fun saveRecord(p0: ATAdInfo?) {
|
|
|
+ private fun saveRecord(p0: ATAdInfo?, startAdTime: String, endAdTime: String) {
|
|
|
|
|
|
if (p0 == null) return
|
|
|
val map = HashMap<String, Any>()
|
|
|
map["adSourceId"] = p0.adsourceId.toInt()
|
|
|
- map["beginTime"] = startAdTime.toString()
|
|
|
- map["finishTime"] = endAdTime.toString()
|
|
|
+ map["beginTime"] = startAdTime
|
|
|
+ map["finishTime"] = endAdTime
|
|
|
map["networkFormId"] = p0.networkFirmId
|
|
|
map["networkName"] = p0.networkName
|
|
|
map["networkPlacementId"] = p0.networkPlacementId
|
|
|
@@ -760,45 +883,115 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
map["resultJson"] = p0.toString()
|
|
|
|
|
|
val body = BaseRetrofit.getRequestBodyByMapToJson(map)
|
|
|
+ var url = if (Constants.isDebug) {
|
|
|
+ Constants.SAVE_RECORD
|
|
|
+ } else {
|
|
|
+ Constants.FULL_URL_V2 + Constants.SAVE_RECORD
|
|
|
+ }
|
|
|
+ BaseRetrofit.getInstance().apiService.saveRecord(url, body)
|
|
|
+ .enqueue(object : Callback2<Any>() {
|
|
|
+ override fun success(body: Any?) {
|
|
|
+ if (p0.adSourceAdType == 1) addPower()
|
|
|
+ LogUtils.e("dfdfdfdf广告同步成功!")
|
|
|
+ }
|
|
|
|
|
|
- BaseRetrofit.getInstance().apiService.saveRecord(body).enqueue(object : Callback2<Any>() {
|
|
|
- override fun success(body: Any?) {
|
|
|
- addPower()
|
|
|
- LogUtils.e("dfdfdfdf广告同步成功!")
|
|
|
- }
|
|
|
-
|
|
|
- override fun fail(msg: String?) {
|
|
|
- ToastUtils.showShort(msg)
|
|
|
- }
|
|
|
- })
|
|
|
+ override fun fail(msg: String?) {
|
|
|
+ ToastUtils.showShort(msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
private fun loadNativeAd() {
|
|
|
if (atNative == null) {
|
|
|
- atNative = ATNative(context, "b68400acd7390c", object : ATNativeNetworkListener {
|
|
|
- override fun onNativeAdLoaded() {
|
|
|
- val nativeAd: NativeAd? = atNative?.getNativeAd(getATShowConfig())
|
|
|
- try {
|
|
|
- nativeAd?.renderAdContainer(binding.fragmentDatiContentAd, null)
|
|
|
- } catch (e: Exception) {
|
|
|
- e.printStackTrace()
|
|
|
+ atNative =
|
|
|
+ ATNative(context, Constants.TAKU_NATIVE_PID, object : ATNativeNetworkListener {
|
|
|
+ override fun onNativeAdLoaded() {
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
|
+ val current = LocalDateTime.now()
|
|
|
+ val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
|
|
|
+ startNativeAdTime = current.format(formatter)
|
|
|
+ } else {
|
|
|
+ startNativeAdTime = DateTimeUtils.getCurrentDateTime()
|
|
|
+ }
|
|
|
+ val nativeAd: NativeAd? = atNative?.getNativeAd(getATShowConfig())
|
|
|
+ nativeAd?.setNativeEventListener(object : ATNativeEventListener {
|
|
|
+ override fun onAdImpressed(
|
|
|
+ p0: ATNativeAdView?,
|
|
|
+ p1: ATAdInfo?
|
|
|
+ ) {
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
|
+ val current = LocalDateTime.now()
|
|
|
+ val formatter =
|
|
|
+ DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
|
|
|
+ endNativeAdTime = current.format(formatter)
|
|
|
+ } else {
|
|
|
+ endNativeAdTime = DateTimeUtils.getCurrentDateTime()
|
|
|
+ }
|
|
|
+ saveRecord(
|
|
|
+ p1,
|
|
|
+ startNativeAdTime.toString(),
|
|
|
+ endNativeAdTime.toString()
|
|
|
+ )
|
|
|
+// reloadNativeAd()
|
|
|
+ LogUtils.e("dfdfdfdfonAdImpressed${p1.toString()}")
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onAdClicked(
|
|
|
+ p0: ATNativeAdView?,
|
|
|
+ p1: ATAdInfo?
|
|
|
+ ) {
|
|
|
+ LogUtils.e("dfdfdfdfonAdImpressed${p1.toString()}")
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onAdVideoStart(p0: ATNativeAdView?) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onAdVideoEnd(p0: ATNativeAdView?) {
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onAdVideoProgress(
|
|
|
+ p0: ATNativeAdView?,
|
|
|
+ p1: Int
|
|
|
+ ) {
|
|
|
+ LogUtils.e("dfdfdfdfonAdVideoProgress}")
|
|
|
+ }
|
|
|
+
|
|
|
+ })
|
|
|
+ try {
|
|
|
+ nativeAd?.renderAdContainer(binding.fragmentDatiContentAd, null)
|
|
|
+ } catch (e: Exception) {
|
|
|
+ e.printStackTrace()
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- override fun onNativeAdLoadFail(adError: AdError) {
|
|
|
- LogUtils.e("onNativeAdLoadFail:" + adError.fullErrorInfo)
|
|
|
- atNative = null
|
|
|
- loadNativeAd()
|
|
|
- }
|
|
|
- })
|
|
|
+ override fun onNativeAdLoadFail(adError: AdError) {
|
|
|
+ LogUtils.e("onNativeAdLoadFail:" + adError.fullErrorInfo)
|
|
|
+ atNative = null
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
+
|
|
|
binding.fragmentDatiContentAd.removeAllViews()
|
|
|
- atNative?.makeAdRequest()
|
|
|
+ val userid = UserInfoSpUtils().getUserInfo().userId
|
|
|
+ val userdata = UserInfoSpUtils().getUserInfo().nickName
|
|
|
+ val localMap: MutableMap<String, Any> = HashMap()
|
|
|
+ localMap[ATAdConst.KEY.USER_ID] = userid
|
|
|
+ localMap[ATAdConst.KEY.USER_CUSTOM_DATA] = userdata
|
|
|
+ atNative?.setLocalExtra(localMap)
|
|
|
+ if (atNative?.checkAdStatus()?.isLoading == false) atNative?.makeAdRequest()
|
|
|
}
|
|
|
|
|
|
private fun loadInterstitial() {
|
|
|
|
|
|
- interstitialAd = ATInterstitial(context, "b68400ac31936e")
|
|
|
+ interstitialAd = ATInterstitial(context, Constants.TAKU_INTERSTITIAL_PID)
|
|
|
+
|
|
|
+ val userid = UserInfoSpUtils().getUserInfo().userId
|
|
|
+ val userdata = UserInfoSpUtils().getUserInfo().nickName
|
|
|
+ val localMap: MutableMap<String, Any> = HashMap()
|
|
|
+ localMap[ATAdConst.KEY.USER_ID] = userid
|
|
|
+ localMap[ATAdConst.KEY.USER_CUSTOM_DATA] = userdata
|
|
|
+ interstitialAd?.setLocalExtra(localMap)
|
|
|
interstitialAd?.setNativeAdCustomRender { mixNativeAd, atAdInfo ->
|
|
|
MediationNativeAdUtil.getViewFromNativeAd(
|
|
|
context,
|
|
|
@@ -810,10 +1003,20 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
interstitialAd?.setAdListener(object : ATInterstitialListener {
|
|
|
override fun onInterstitialAdLoaded() {
|
|
|
LogUtils.e("==========onInterstitialAdLoaded")
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
|
+ val current = LocalDateTime.now()
|
|
|
+ val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
|
|
|
+ startInAdTime = current.format(formatter)
|
|
|
+ } else {
|
|
|
+ startInAdTime = DateTimeUtils.getCurrentDateTime()
|
|
|
+ }
|
|
|
+ interstitialAd?.show(activity, getATShowConfig1())
|
|
|
+
|
|
|
}
|
|
|
|
|
|
override fun onInterstitialAdLoadFail(p0: AdError?) {
|
|
|
LogUtils.e("===========onInterstitialAdLoadFail")
|
|
|
+ initInAdTime()
|
|
|
}
|
|
|
|
|
|
override fun onInterstitialAdClicked(p0: ATAdInfo?) {
|
|
|
@@ -821,7 +1024,16 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
}
|
|
|
|
|
|
override fun onInterstitialAdShow(p0: ATAdInfo?) {
|
|
|
- LogUtils.e("=============onInterstitialAdShow")
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
|
+ val current = LocalDateTime.now()
|
|
|
+ val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
|
|
|
+ endInAdTime = current.format(formatter)
|
|
|
+ } else {
|
|
|
+ endInAdTime = DateTimeUtils.getCurrentDateTime()
|
|
|
+ }
|
|
|
+
|
|
|
+ saveRecord(p0, startInAdTime.toString(), endInAdTime.toString())
|
|
|
+ LogUtils.e("=============onInterstitialAdShow${p0.toString()}")
|
|
|
}
|
|
|
|
|
|
override fun onInterstitialAdClose(p0: ATAdInfo?) {
|
|
|
@@ -829,7 +1041,6 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
}
|
|
|
|
|
|
override fun onInterstitialAdVideoStart(p0: ATAdInfo?) {
|
|
|
- interstitialAd?.load()
|
|
|
LogUtils.e("===========onInterstitialAdVideoStart")
|
|
|
}
|
|
|
|
|
|
@@ -847,13 +1058,21 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
}
|
|
|
|
|
|
private fun loadBannerAd() {
|
|
|
- val mBannerView = ATBannerView(context)
|
|
|
- mBannerView.setPlacementId("b68400aba2a385")
|
|
|
- mBannerView.setShowConfig(getATShowConfig())
|
|
|
- mBannerView.setBannerAdListener(this)
|
|
|
+
|
|
|
+ mBannerView = ATBannerView(context)
|
|
|
+ mBannerView?.setPlacementId(Constants.TAKU_BANNER_PID)
|
|
|
+ mBannerView?.setShowConfig(getATShowConfig())
|
|
|
+ mBannerView?.setBannerAdListener(this)
|
|
|
binding.fragmentDatiBanner.removeAllViews()
|
|
|
binding.fragmentDatiBanner.addView(mBannerView)
|
|
|
- mBannerView.loadAd()
|
|
|
+
|
|
|
+ val userid = UserInfoSpUtils().getUserInfo().userId
|
|
|
+ val userdata = UserInfoSpUtils().getUserInfo().nickName
|
|
|
+ val localMap: MutableMap<String, Any> = HashMap()
|
|
|
+ localMap[ATAdConst.KEY.USER_ID] = userid
|
|
|
+ localMap[ATAdConst.KEY.USER_CUSTOM_DATA] = userdata
|
|
|
+ mBannerView?.setLocalExtra(localMap)
|
|
|
+ if (mBannerView?.checkAdStatus()?.isLoading == false) mBannerView?.loadAd()
|
|
|
}
|
|
|
|
|
|
private fun getATShowConfig(): ATShowConfig {
|
|
|
@@ -873,6 +1092,14 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
}
|
|
|
|
|
|
override fun onBannerLoaded() {
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
|
+ val current = LocalDateTime.now()
|
|
|
+ val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
|
|
|
+ startBannerAdTime = current.format(formatter)
|
|
|
+ } else {
|
|
|
+ startBannerAdTime = DateTimeUtils.getCurrentDateTime()
|
|
|
+ }
|
|
|
+
|
|
|
LogUtils.e("dfdfdf onBannerLoaded")
|
|
|
}
|
|
|
|
|
|
@@ -885,7 +1112,16 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
}
|
|
|
|
|
|
override fun onBannerShow(p0: ATAdInfo?) {
|
|
|
- LogUtils.e("dfdfdf onBannerShow")
|
|
|
+ LogUtils.e("dfdfdf onBannerShow${p0.toString()}")
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
|
+ val current = LocalDateTime.now()
|
|
|
+ val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
|
|
|
+ endBannerAdTime = current.format(formatter)
|
|
|
+ } else {
|
|
|
+ endBannerAdTime = DateTimeUtils.getCurrentDateTime()
|
|
|
+ }
|
|
|
+ saveRecord(p0, startBannerAdTime.toString(), endBannerAdTime.toString())
|
|
|
+
|
|
|
}
|
|
|
|
|
|
override fun onBannerClose(p0: ATAdInfo?) {
|
|
|
@@ -899,4 +1135,28 @@ class DatiFragment() : Fragment(), ATRewardVideoListener,
|
|
|
override fun onBannerAutoRefreshFail(p0: AdError?) {
|
|
|
LogUtils.e("dfdfdf onBannerAutoRefreshFail")
|
|
|
}
|
|
|
+
|
|
|
+ private fun getUserInfo() {
|
|
|
+ var url = if (Constants.isDebug) {
|
|
|
+ Constants.GET_USER_INFO
|
|
|
+ } else {
|
|
|
+ Constants.FULL_URL_V2 + Constants.GET_USER_INFO
|
|
|
+ }
|
|
|
+ BaseRetrofit.getInstance().apiService.getUserInfo(url, UserInfoSpUtils().getUserId())
|
|
|
+ .enqueue(object : Callback2<UserInfo>() {
|
|
|
+ override fun success(body: UserInfo?) {
|
|
|
+ body?.let { UserInfoSpUtils().putUserInfo(it) }
|
|
|
+ jrdd = UserInfoSpUtils().getTodayAnswerCount()
|
|
|
+ lsdd = UserInfoSpUtils().getHistoryAnswerCount()
|
|
|
+
|
|
|
+ binding.jrddTv.text = "今日答题: ${jrdd}题"
|
|
|
+ binding.lsddTv.text = "历史答题: ${lsdd}题"
|
|
|
+ initDialogGetTl()
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun fail(msg: String?) {
|
|
|
+ ToastUtils.showShort(msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|