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