fix: 屏蔽华为系 Android 10 设备的穿山甲广告,避免启动闪退

This commit is contained in:
chenjuntao
2025-05-19 10:32:57 +08:00
parent fd5a3104c4
commit 4da3c3aec1

View File

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