import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:client_proxy_framework/client_proxy_framework.dart'; import 'app.dart'; import 'core/auth/auth_service.dart'; import 'core/payment/google_play_order_recovery.dart'; Future main() async { WidgetsFlutterBinding.ensureInitialized(); await ClientBootstrap.initFromAsset('assets/skin_config.json'); await ClientBootstrap.initAnalytics(); await AnalyticsService.initAttribution(); await ensureDeviceMemoryProfileInitialized(); SystemChrome.setSystemUIOverlayStyle( const SystemUiOverlayStyle( statusBarColor: Colors.transparent, statusBarIconBrightness: Brightness.light, ), ); // 与 app_client main 一致:尽早订阅 purchaseStream,否则未确认订单可能不进 queryPastPurchases,补单为空。 if (defaultTargetPlatform == TargetPlatform.android) { PaymentService.startPendingPurchaseListener(); } // 与 app_client 一致:先首帧再异步登录,由 [App] 内遮罩等待 [loginComplete] runApp(App(title: ClientBootstrap.skin.appName)); unawaited(AuthService.init()); AuthService.loginComplete.then((_) { unawaited(runGooglePlayOrderRecovery()); }); }