40 lines
1.3 KiB
Dart
40 lines
1.3 KiB
Dart
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<void> 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());
|
||
});
|
||
}
|