diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index c2ff064..51368e1 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -42,4 +42,5 @@
+
diff --git a/android/app/src/main/kotlin/com/kouyuxingqiu/wow_english/MainActivity.kt b/android/app/src/main/kotlin/com/kouyuxingqiu/wow_english/MainActivity.kt
index 4d8363e..74ac2b8 100644
--- a/android/app/src/main/kotlin/com/kouyuxingqiu/wow_english/MainActivity.kt
+++ b/android/app/src/main/kotlin/com/kouyuxingqiu/wow_english/MainActivity.kt
@@ -10,6 +10,7 @@ import com.gyf.immersionbar.BarHide
import com.gyf.immersionbar.ImmersionBar
import com.kouyuxingqiu.wow_english.methodChannels.GameMethodChannel
import com.kouyuxingqiu.wow_english.methodChannels.SingSoungMethodChannel
+import com.umeng.commonsdk.UMConfigure
import io.flutter.embedding.android.FlutterActivity
class MainActivity : FlutterActivity() {
@@ -22,6 +23,9 @@ class MainActivity : FlutterActivity() {
SingSoungMethodChannel(this, it)
GameMethodChannel(this, it)
}
+ //UM日志打印
+ UMConfigure.setLogEnabled(true)
+ UMConfigure.preInit(this, "663b66b0b3362515012f4ea5", "official")
}
override fun onResume() {
diff --git a/lib/app/splash_page.dart b/lib/app/splash_page.dart
index 04a9da2..90f8e5f 100644
--- a/lib/app/splash_page.dart
+++ b/lib/app/splash_page.dart
@@ -6,6 +6,7 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:limiting_direction_csx/limiting_direction_csx.dart';
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import 'package:wow_english/common/core/app_config_helper.dart';
import 'package:wow_english/common/core/user_util.dart';
import 'package:wow_english/common/extension/string_extension.dart';
@@ -67,7 +68,7 @@ class _TransitionViewState extends State {
}*/
bool isAggreementAccepted = AppConfigHelper.getAgreementAccepted();
if (isAggreementAccepted) {
- pushNamedAndRemoveUntil(AppRouteName.home, (route) => false);
+ _initData();
} else {
showDialog(
context: context,
@@ -80,8 +81,7 @@ class _TransitionViewState extends State {
webUrl: AppConsts.userPrivacyPolicyUrl,
leftTap: () {
AppConfigHelper.saveAgreementAccepted(true);
- pushNamedAndRemoveUntil(
- AppRouteName.home, (route) => false);
+ _initData();
},
rightTap: () {
// 退出应用
@@ -95,6 +95,12 @@ class _TransitionViewState extends State {
});
}
+ ///初始化数据
+ void _initData() {
+ UmengCommonSdk.initCommon("663b66b0b3362515012f4ea5", "663b66ecf32cc41105ae74b7", "official");
+ pushNamedAndRemoveUntil(AppRouteName.home, (route) => false);
+ }
+
Future fetchNecessaryData(String userToken,
{Completer? completer}) async {
completer ??= Completer();
diff --git a/lib/common/core/user_util.dart b/lib/common/core/user_util.dart
index 018f15f..e91a6f4 100644
--- a/lib/common/core/user_util.dart
+++ b/lib/common/core/user_util.dart
@@ -1,8 +1,7 @@
import 'dart:convert';
import 'package:flutter/foundation.dart';
-import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import 'package:wow_english/common/core/sp_const.dart';
import 'package:wow_english/models/user_entity.dart';
import 'package:wow_english/route/route.dart';
@@ -60,6 +59,7 @@ class UserUtil {
if (currentPageName != AppRouteName.splash) {
Navigator.of(AppRouter.context).pushNamedAndRemoveUntil(AppRouteName.login, (route) => false);
}*/
+ UmengCommonSdk.onProfileSignOff();
pushNamedAndRemoveUntil(AppRouteName.login, (route) => false, arguments: {'showPasswordPage': showPasswordLoginPage});
}
diff --git a/lib/common/request/dao/user_dao.dart b/lib/common/request/dao/user_dao.dart
index cd6c2c9..0cacd63 100644
--- a/lib/common/request/dao/user_dao.dart
+++ b/lib/common/request/dao/user_dao.dart
@@ -1,3 +1,4 @@
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import 'package:wow_english/common/core/user_util.dart';
import 'package:wow_english/models/user_entity.dart';
import 'package:wow_english/utils/log_util.dart';
@@ -25,6 +26,7 @@ class UserDao {
data = await getUserInfo();
data?.token = token;
UserUtil.saveUser(data);
+ UmengCommonSdk.onProfileSignIn(data?.phoneNum ?? phoneNumber);
}
return data;
}
diff --git a/pubspec.yaml b/pubspec.yaml
index 4fcc959..bff08ce 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -107,6 +107,10 @@ dependencies:
package_info_plus: ^4.2.0
# 应用内更新 https://pub-web.flutter-io.cn/packages/flutter_app_update
flutter_app_update: ^3.0.4
+ # 友盟统计 https://pub-web.flutter-io.cn/packages/umeng_common_sdk
+ umeng_common_sdk: ^1.2.7
+ # 友盟APM https://pub-web.flutter-io.cn/packages/umeng_apm_sdk
+ umeng_apm_sdk: ^2.2.1
dev_dependencies:
build_runner: ^2.4.4