此文件用于快速查看 1.1.0 版本的所有修改,详细内容请查看 CHANGELOG.md
问题: 新用户进入应用时,主界面 home_screen 会突然被 AppLovin 全屏合规授权(Terms & Conditions)打断,并且与项目配置的 Native Splash 及旧版过渡页造成交叠冗余。
文件:
lib/main.dart (统一接管路由和初始化流程)lib/homepage/home_screen.dart (剥离脏代码)
修复与重构:home_screen.dart 中深耦合的 AppLovin、FCM、Adjust 等第三方初始化逻辑。main.dart 中使用 FlutterNativeSplash.preserve()。remove() 展露完备的游戏世界。
预期效果: 原生沉浸式无缝感受,消除“大弹窗突然糊脸”的突兀感并保持严格隐私合规。问题: Crashlytics 报告动画监听器在页面销毁后仍被触发,导致 null pointer
文件: lib/play/board_play.dart (11个方法)
修复: 添加 board == null 防护检查
预期效果: 降低低端设备 crash 率 30-50%
受影响方法:
✓ _moveAnimationListener()
✓ _successAnimationListener()
✓ _dealingAnimationListener() / _dealingAnimationStatusListener()
✓ _flipAnimationListener() / _flipAnimationStatusListener()
✓ _mergeAnimationListener() / _mergeAnimationStatusListener()
✓ _prepareAnimationListener() / _prepareAnimationStatusListener()
问题: VastActivity context 未初始化导致应用崩溃 文件:
android/app/build.gradle.kts (版本升级)android/app/proguard-rules.pro (混淆规则)修复:
问题: 网络不稳定导致网络图片加载失败报 Software caused connection abort 或 Downloaded data is too small 异常,该异常穿透至 FlutterError.onError 被记作了“致命崩溃”。
文件: lib/main.dart
修复: 提取独立的 isEnvIssue 并在 FlutterError.onError 被调用时提前拦截因网络造成的资源报错,使其由崩溃降级为警告记录。
预期效果: 消除 Firebase 后台上大量的虚假 Crash 图谱数据,聚焦真正使 App 异常闪退的技术缺陷。
问题: Crash 和 ANR 集中在特定设备,无法动态更新 文件:
lib/remote_config/remote_config.dart (3个新参数)lib/ads/applovin_ads_controller.dart (检测逻辑增强)新增 Remote Config 参数:
ad_crash_prone_devices: # Crash 高发设备 → 禁用所有广告
"samsung a21s,samsung a31,samsung a12,redmi lancelot,oppo op4efdl1,vivo 2015,vivo 2111,huawei,infinix,motorola borag,motorola hawaiip"
ad_anr_prone_devices: # ANR 高发设备 → 禁用广告
"hornor hngfy-m,zuum covet,vivo 1820"
non_phone_devices: # 非手机设备 → 限制广告
"jvc,tcl,transformer"
ApplovinAdsController 增强:
_isAnrProneDevice, _isNonPhoneDevice_shouldSkipAds() 判断逻辑预期效果:
| 文件 | 修改项 | 行数 |
|---|---|---|
lib/play/board_play.dart |
11 个 animation listener null check | ~570-700 |
lib/remote_config/remote_config.dart |
+3 getter, +3 Remote Config 参数 | ~8-25 |
lib/ads/applovin_ads_controller.dart |
+2 标记, +2 getter, +3 检测方法 | ~30-115 |
| 文件 | 修改内容 |
|---|---|
android/app/build.gradle.kts |
Moloco Adapter 版本升级 |
android/app/src/main/AndroidManifest.xml |
VastActivity 声明 |
android/app/proguard-rules.pro |
service_locator ProGuard 规则 |
android/app/src/main/kotlin/.../MainActivity.kt |
AppLovinSdk 初始化 |
CHANGELOG.md - 1.1.0 版本详细记录CHANGELOG_1.1.0_SUMMARY.md - 本文件(快速参考)发版后,重点关注:
1. Crashlytics: boardplay.dart 相关 crash 率变化
2. Firebase Analytics: 按设备型号分组的 crash 率
3. Play Console: 各设备型号的 ANR 率
4. 广告收益: 是否受黑名单影响(预期影响较小)
如果出现问题,可通过以下方式快速恢复:
如有疑问或需要补充修改,请参考:
/memories/session/device_analysis_optimization.md/memories/session/crashlytics_animation_fix.md/memories/session/ 目录最后更新: 2026-03-20