admin
2021-12-03 f092e392700f68cdbfc545c9801f530d19fd39fa
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
import 'dart:io';
 
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';
import 'package:flutter_baidu_mapapi_base/src/map/bmf_map_sdk.dart';
import 'package:flutter_baidu_mapapi_base/src/map/bmf_types.dart';
import 'package:fluwx_no_pay/fluwx_no_pay.dart';
import 'package:jpush_flutter/jpush_flutter.dart';
import 'package:locations/utils/ad_util.dart';
import 'package:locations/utils/global.dart';
import 'package:locations/utils/push_util.dart';
import 'package:package_info/package_info.dart';
 
class AppUtil {
  static JPush _jpush = JPush();
 
  //初始化应用
  static Future<bool> initApp(BuildContext context) async {
    print("initApp");
    await registerWxApi(
        appId: "wxd930ea5d5a228f5f",
        universalLink: "https://your.univerallink.com/link/");
 
    //地图
    if (Platform.isIOS) {
      BMFMapSDK.setApiKeyAndCoordType(
          '请输入百度开放平台申请的iOS端API KEY', BMF_COORD_TYPE.COMMON);
    } else if (Platform.isAndroid) {
// Android 目前不支持接口设置Apikey,
// 请在主工程的Manifest文件里设置,详细配置方法请参考[https://lbs.baidu.com/ 官网][https://lbs.baidu.com/)demo
      BMFMapSDK.setCoordType(BMF_COORD_TYPE.COMMON);
    }
 
    //初始化广告
    await  AdUtil.init();
 
    //初始化本地应用
    await _initNativeApp();
    //初始化极光
    try {
      PushUtil.init(context);
    } catch (e) {}
    //初始化应用
    return true;
  }
 
  //初始化广告
  static _initAd() async {
 
  }
 
  //本地应用初始化
  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();
    }
  }
 
  static Future<int> getVersionCode() async {
    PackageInfo packageInfo = await PackageInfo.fromPlatform();
    return int.parse(packageInfo.buildNumber);
  }
}