From 4da3c3aec145cdfc013b1cd417299ed9293e9821 Mon Sep 17 00:00:00 2001 From: chenjuntao Date: Mon, 19 May 2025 10:32:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=B1=8F=E8=94=BD=E5=8D=8E=E4=B8=BA?= =?UTF-8?q?=E7=B3=BB=20Android=2010=20=E8=AE=BE=E5=A4=87=E7=9A=84=E7=A9=BF?= =?UTF-8?q?=E5=B1=B1=E7=94=B2=E5=B9=BF=E5=91=8A=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E9=97=AA=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/gh/ad/AdDelegateHelper.kt | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) 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 }