fix: 屏蔽华为系 Android 10 设备的穿山甲广告,避免启动闪退
This commit is contained in:
@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user