admin
2022-01-20 d8ef9a783b9e0b2a495f02fdf3daaf27ef49e99d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import 'dart:io';
 
import 'package:device_info/device_info.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';
import 'package:fluwx_no_pay/fluwx_no_pay.dart';
import 'package:jpush_flutter/jpush_flutter.dart';
import 'package:package_info/package_info.dart';
 
import 'ad_util.dart';
import 'global.dart';
import 'push_util.dart';
 
class AppUtil {
  static final JPush _jpush = JPush();
 
  static bool _inited = false;
 
  //初始化应用
  static Future<bool> initApp(BuildContext context) async {
    if (_inited) {
      return true;
    }
    _inited = true;
    print("initApp");
    await registerWxApi(
        appId: "wxd930ea5d5a228f5f",
        universalLink: "https://your.univerallink.com/link/");
 
    //初始化广告
    await AdUtil.init();
 
    //初始化本地应用
    await _initNativeApp();
    //初始化极光
    try {
      PushUtil.init(context);
    } catch (e) {}
    //初始化版本
    if (Platform.isAndroid) {
      DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
      AndroidDeviceInfo _androidInfo = await deviceInfo.androidInfo;
      Global.androidSDK = _androidInfo.version.sdkInt;
    }
 
    // //初始化阿里云授权登录
    // await LoginPage.messageChannel.send({
    //   "method": "init",
    //   "secret": Constant.ALIYUN_AUTH_SECRETINFO,
    //   "privacy": Constant.PRIVACY_URL,
    //   "protocol": Constant.PROTOCOL_URL
    // }) as Map;
 
    return true;
  }
 
  //本地应用初始化
  static _initNativeApp() async {
    if (Platform.isAndroid) {
      const platform = MethodChannel("com.yeshi.location/init"); //分析1
      try {
        await platform.invokeMethod("initApp"); //分析2
      } on PlatformException catch (e) {
        print(e.toString());
      }
      //填充utdid
      await Global.loadUtdId();
      //填充channel
      await Global.loadChannel();
    }
  }
 
  static Future<int> getVersionCode() async {
    PackageInfo packageInfo = await PackageInfo.fromPlatform();
    return int.parse(packageInfo.buildNumber);
  }
}