Commit 1de9bc4e19427f957398053ce03b45f4c2a9c078
Merge remote-tracking branch 'origin/feat-wqf-payment' into xiaoyu_cocossteve
Showing
6 changed files
with
22 additions
and
5 deletions
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 'package:flutter/foundation.dart'; |
| 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<TransitionView> { |
| 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<TransitionView> { |
| 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<TransitionView> { |
| 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 | ... | ... |