diff --git a/app/src/main/java/com/gh/ad/AdDelegateHelper.kt b/app/src/main/java/com/gh/ad/AdDelegateHelper.kt index 193c99686a..68721bd8ac 100644 --- a/app/src/main/java/com/gh/ad/AdDelegateHelper.kt +++ b/app/src/main/java/com/gh/ad/AdDelegateHelper.kt @@ -189,20 +189,14 @@ object AdDelegateHelper { // HarmonyOS 2.2.0 版本不展示第三方开屏广告 (因为会引起奇怪的闪退) if (MetaUtil.getRom().name == "HarmonyOS" && MetaUtil.getRom().versionName == "2.2.0" - && config.displayRule.adSource == "third_party_ads") { + && config.displayRule.adSource == AD_TYPE_SDK) { 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 - } + if (isBuggyHuaweiDevice() && config.displayRule.adSource == AD_TYPE_SDK) { + return } mSplashAd = config @@ -233,6 +227,7 @@ object AdDelegateHelper { private fun shouldShowStartUpAdWhenHotLaunch() = (mCsjAdImpl != null) && mSplashAd?.displayRule?.hotStartSplashAd?.type == AD_TYPE_SDK && mSplashAd?.hotStartThirdPartyAd != null + && !isBuggyHuaweiDevice() /** * 是否需要显示下载管理广告 @@ -801,4 +796,16 @@ object AdDelegateHelper { mCsjAdImpl?.cancelSplashAd(context) } + /** + * 是否为有问题的华为系 Android 10 设备 + */ + private fun isBuggyHuaweiDevice(): Boolean { + if (Build.VERSION.SDK_INT == Build.VERSION_CODES.Q) { + val manufacturer = Build.MANUFACTURER.lowercase(Locale.CHINA) ?: "" + return manufacturer == "huawei" || manufacturer == "honor" + } else { + return false + } + } + } \ No newline at end of file