Commit 27dad3d1d7e0bb868fbb0006222bdaf0e0c34975

Authored by 吴启风
1 parent 8e547280

feat:集成友盟统计

android/app/src/main/AndroidManifest.xml
... ... @@ -42,4 +42,5 @@
42 42 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
43 43 <uses-permission android:name="android.permission.CAMERA" />
44 44 <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
  45 + <uses-permission android:name="android.permission.READ_PHONE_STATE" />
45 46 </manifest>
... ...
android/app/src/main/kotlin/com/kouyuxingqiu/wow_english/MainActivity.kt
... ... @@ -10,6 +10,7 @@ import com.gyf.immersionbar.BarHide
10 10 import com.gyf.immersionbar.ImmersionBar
11 11 import com.kouyuxingqiu.wow_english.methodChannels.GameMethodChannel
12 12 import com.kouyuxingqiu.wow_english.methodChannels.SingSoungMethodChannel
  13 +import com.umeng.commonsdk.UMConfigure
13 14 import io.flutter.embedding.android.FlutterActivity
14 15  
15 16 class MainActivity : FlutterActivity() {
... ... @@ -22,6 +23,9 @@ class MainActivity : FlutterActivity() {
22 23 SingSoungMethodChannel(this, it)
23 24 GameMethodChannel(this, it)
24 25 }
  26 + //UM日志打印
  27 + UMConfigure.setLogEnabled(true)
  28 + UMConfigure.preInit(this, "663b66b0b3362515012f4ea5", "official")
25 29 }
26 30  
27 31 override fun onResume() {
... ...
lib/app/splash_page.dart
... ... @@ -6,6 +6,7 @@ import &#39;package:flutter/foundation.dart&#39;;
6 6 import 'package:flutter/material.dart';
7 7 import 'package:flutter/services.dart';
8 8 import 'package:limiting_direction_csx/limiting_direction_csx.dart';
  9 +import 'package:umeng_common_sdk/umeng_common_sdk.dart';
9 10 import 'package:wow_english/common/core/app_config_helper.dart';
10 11 import 'package:wow_english/common/core/user_util.dart';
11 12 import 'package:wow_english/common/extension/string_extension.dart';
... ... @@ -67,7 +68,7 @@ class _TransitionViewState extends State&lt;TransitionView&gt; {
67 68 }*/
68 69 bool isAggreementAccepted = AppConfigHelper.getAgreementAccepted();
69 70 if (isAggreementAccepted) {
70   - pushNamedAndRemoveUntil(AppRouteName.home, (route) => false);
  71 + _initData();
71 72 } else {
72 73 showDialog(
73 74 context: context,
... ... @@ -80,8 +81,7 @@ class _TransitionViewState extends State&lt;TransitionView&gt; {
80 81 webUrl: AppConsts.userPrivacyPolicyUrl,
81 82 leftTap: () {
82 83 AppConfigHelper.saveAgreementAccepted(true);
83   - pushNamedAndRemoveUntil(
84   - AppRouteName.home, (route) => false);
  84 + _initData();
85 85 },
86 86 rightTap: () {
87 87 // 退出应用
... ... @@ -95,6 +95,12 @@ class _TransitionViewState extends State&lt;TransitionView&gt; {
95 95 });
96 96 }
97 97  
  98 + ///初始化数据
  99 + void _initData() {
  100 + UmengCommonSdk.initCommon("663b66b0b3362515012f4ea5", "663b66ecf32cc41105ae74b7", "official");
  101 + pushNamedAndRemoveUntil(AppRouteName.home, (route) => false);
  102 + }
  103 +
98 104 Future<void> fetchNecessaryData(String userToken,
99 105 {Completer<void>? completer}) async {
100 106 completer ??= Completer<void>();
... ...
lib/common/core/user_util.dart
1 1 import 'dart:convert';
2 2  
3 3 import 'package:flutter/foundation.dart';
4   -import 'package:flutter/material.dart';
5   -import 'package:flutter/widgets.dart';
  4 +import 'package:umeng_common_sdk/umeng_common_sdk.dart';
6 5 import 'package:wow_english/common/core/sp_const.dart';
7 6 import 'package:wow_english/models/user_entity.dart';
8 7 import 'package:wow_english/route/route.dart';
... ... @@ -60,6 +59,7 @@ class UserUtil {
60 59 if (currentPageName != AppRouteName.splash) {
61 60 Navigator.of(AppRouter.context).pushNamedAndRemoveUntil(AppRouteName.login, (route) => false);
62 61 }*/
  62 + UmengCommonSdk.onProfileSignOff();
63 63 pushNamedAndRemoveUntil(AppRouteName.login, (route) => false, arguments: {'showPasswordPage': showPasswordLoginPage});
64 64 }
65 65  
... ...
lib/common/request/dao/user_dao.dart
  1 +import 'package:umeng_common_sdk/umeng_common_sdk.dart';
1 2 import 'package:wow_english/common/core/user_util.dart';
2 3 import 'package:wow_english/models/user_entity.dart';
3 4 import 'package:wow_english/utils/log_util.dart';
... ... @@ -25,6 +26,7 @@ class UserDao {
25 26 data = await getUserInfo();
26 27 data?.token = token;
27 28 UserUtil.saveUser(data);
  29 + UmengCommonSdk.onProfileSignIn(data?.phoneNum ?? phoneNumber);
28 30 }
29 31 return data;
30 32 }
... ...
pubspec.yaml
... ... @@ -107,6 +107,10 @@ dependencies:
107 107 package_info_plus: ^4.2.0
108 108 # 应用内更新 https://pub-web.flutter-io.cn/packages/flutter_app_update
109 109 flutter_app_update: ^3.0.4
  110 + # 友盟统计 https://pub-web.flutter-io.cn/packages/umeng_common_sdk
  111 + umeng_common_sdk: ^1.2.7
  112 + # 友盟APM https://pub-web.flutter-io.cn/packages/umeng_apm_sdk
  113 + umeng_apm_sdk: ^2.2.1
110 114  
111 115 dev_dependencies:
112 116 build_runner: ^2.4.4
... ...