diff --git a/app/src/main/java/com/halo/assistant/HaloApp.java b/app/src/main/java/com/halo/assistant/HaloApp.java index f5fa034773..e6b10721d2 100644 --- a/app/src/main/java/com/halo/assistant/HaloApp.java +++ b/app/src/main/java/com/halo/assistant/HaloApp.java @@ -329,7 +329,9 @@ public class HaloApp extends MultiDexApplication { // 港澳APP去掉oaid的获取 if (!EnvHelper.isGATApp()) { OAIDHelper.INSTANCE.getOAID(HaloApp.this, (s, isSuccess) -> { - setOAID(s); + String oaid = getValidOAID(s); + + setOAID(oaid); MetaUtil.INSTANCE.refreshMeta(); SensorsBridge.INSTANCE.setOAID(s); @@ -416,6 +418,26 @@ public class HaloApp extends MultiDexApplication { }, delay); } + /** + * 获取有效的 OAID + */ + private String getValidOAID(String s) { + String oaid = s; + + // 过滤异常的 OAID + if (Constants.INVALID_OAID_1.equals(oaid) + || Constants.INVALID_OAID_2.equals(oaid) + || Constants.INVALID_OAID_3.equals(oaid)) { + // 若 gid 不为空,那么整合 gid 作为 oaid https://jira.shanqu.cc/browse/GHZSCY-7004 + if (getGid() != null) { + oaid = "GID" + getGid(); + } else { + oaid = ""; + } + } + return oaid; + } + private void initArouter() { if (BuildConfig.DEBUG) { // 这两行必须写在init之前,否则这些配置在init过程中将无效 ARouter.openLog(); // 打印日志 diff --git a/module_common/src/main/java/com/gh/gamecenter/common/constant/Constants.java b/module_common/src/main/java/com/gh/gamecenter/common/constant/Constants.java index 8e3d3c21fc..fdba09ab96 100644 --- a/module_common/src/main/java/com/gh/gamecenter/common/constant/Constants.java +++ b/module_common/src/main/java/com/gh/gamecenter/common/constant/Constants.java @@ -473,6 +473,10 @@ public class Constants { public static final String SP_BRAND_NEW_FIRST_LAUNCH_TIME = "brand_new_first_launch_time"; // 全新安装用户首次启动时间 + public static final String INVALID_OAID_1 = "00000000-0000-0000-0000-000000000000"; + public static final String INVALID_OAID_2 = "0000000000000000000000000000000000000000000000000000000000000000"; + public static final String INVALID_OAID_3 = "00000000000000000000000000000000"; + public static final String IS_RESERVE_ONLINE_REMINDER = "is_reserve_online_reminder"; public static final String TOOL_MAP_PACKAGE_NAME = "com.gh.toolmap";// 光环工具服务APP包名 diff --git a/module_common/src/main/java/com/gh/gamecenter/common/utils/SensorsBridge.kt b/module_common/src/main/java/com/gh/gamecenter/common/utils/SensorsBridge.kt index 008cc1c48d..6dc26d37dd 100644 --- a/module_common/src/main/java/com/gh/gamecenter/common/utils/SensorsBridge.kt +++ b/module_common/src/main/java/com/gh/gamecenter/common/utils/SensorsBridge.kt @@ -328,7 +328,7 @@ object SensorsBridge { } fun setOAID(oaid: String) { - if (mIsSensorsEnabled) mSensor?.setOAID(oaid) + if (mIsSensorsEnabled || oaid.isNotEmpty()) mSensor?.setOAID(oaid) } @JvmStatic