diff --git a/app/src/main/java/com/gh/ad/AdDelegateHelper.kt b/app/src/main/java/com/gh/ad/AdDelegateHelper.kt index 52a9382337..193c99686a 100644 --- a/app/src/main/java/com/gh/ad/AdDelegateHelper.kt +++ b/app/src/main/java/com/gh/ad/AdDelegateHelper.kt @@ -5,6 +5,7 @@ import android.app.Activity import android.content.Context import android.content.SharedPreferences import android.graphics.drawable.Animatable +import android.os.Build import android.os.Message import android.text.TextUtils import android.view.View @@ -43,6 +44,7 @@ import com.gh.gamecenter.feature.exposure.ExposureType import com.gh.gamecenter.retrofit.RetrofitManager import com.halo.assistant.HaloApp import io.reactivex.schedulers.Schedulers +import java.util.Locale /** * 广告实现代理类 @@ -120,7 +122,12 @@ object AdDelegateHelper { if (isFromRetry && mAdConfigList.isNotEmpty()) { return } - val paramsMap = if (keyword.isNotEmpty()) mapOf("keyword" to keyword) else mapOf() + + val paramsMap = if (keyword.isNotEmpty()) { + mapOf("keyword" to keyword, "android_sdk_version" to Build.VERSION.SDK_INT) + } else { + mapOf("android_sdk_version" to Build.VERSION.SDK_INT) + } RetrofitManager.getInstance() .newApi .getAdConfig(paramsMap) @@ -187,6 +194,17 @@ object AdDelegateHelper { return } + // 华为系 Android 10 不展示第三方开屏广告 (因为会引起奇怪的闪退) + if (config.displayRule.adSource == "third_party_ads" + && Build.VERSION.SDK_INT == Build.VERSION_CODES.Q + ) { + val manufacturer = Build.MANUFACTURER.lowercase(Locale.CHINA) ?: "" + + if (manufacturer == "huawei" || manufacturer == "honor") { + return + } + } + mSplashAd = config }