From 4d82ae80580cde21c08c6631c66a8a8fe7d1924c Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Mon, 19 Aug 2024 01:35:38 +0800 Subject: [PATCH] :bug: Bug fixes :arrow_up: Add firebase performance --- ios/Podfile.lock | 43 +++++++++++++++++++++++++++++++ lib/models/event.dart | 4 +-- lib/models/stickers.dart | 2 +- lib/screens/account/stickers.dart | 2 +- lib/shells/root_shell.dart | 10 +++++++ pubspec.lock | 28 ++++++++++++++++++-- pubspec.yaml | 1 + 7 files changed, 84 insertions(+), 6 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 6adedf4..a5a90ea 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -51,6 +51,9 @@ PODS: - Firebase/Messaging (10.29.0): - Firebase/CoreOnly - FirebaseMessaging (~> 10.29.0) + - Firebase/Performance (10.29.0): + - Firebase/CoreOnly + - FirebasePerformance (~> 10.29.0) - firebase_analytics (11.2.1): - Firebase/Analytics (= 10.29.0) - firebase_core @@ -66,6 +69,12 @@ PODS: - Firebase/Messaging (= 10.29.0) - firebase_core - Flutter + - firebase_performance (0.10.0-4): + - Firebase/Performance (= 10.29.0) + - firebase_core + - Flutter + - FirebaseABTesting (10.29.0): + - FirebaseCore (~> 10.0) - FirebaseAnalytics (10.29.0): - FirebaseAnalytics/AdIdSupport (= 10.29.0) - FirebaseCore (~> 10.0) @@ -115,6 +124,25 @@ PODS: - GoogleUtilities/Reachability (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebasePerformance (10.29.0): + - FirebaseCore (~> 10.5) + - FirebaseInstallations (~> 10.0) + - FirebaseRemoteConfig (~> 10.0) + - FirebaseSessions (~> 10.5) + - GoogleDataTransport (~> 9.2) + - GoogleUtilities/Environment (~> 7.13) + - GoogleUtilities/ISASwizzler (~> 7.13) + - GoogleUtilities/MethodSwizzler (~> 7.13) + - GoogleUtilities/UserDefaults (~> 7.13) + - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseRemoteConfig (10.29.0): + - FirebaseABTesting (~> 10.0) + - FirebaseCore (~> 10.0) + - FirebaseInstallations (~> 10.0) + - FirebaseRemoteConfigInterop (~> 10.23) + - FirebaseSharedSwift (~> 10.0) + - GoogleUtilities/Environment (~> 7.8) + - "GoogleUtilities/NSData+zlib (~> 7.8)" - FirebaseRemoteConfigInterop (10.29.0) - FirebaseSessions (10.29.0): - FirebaseCore (~> 10.5) @@ -125,6 +153,7 @@ PODS: - GoogleUtilities/UserDefaults (~> 7.13) - nanopb (< 2.30911.0, >= 2.30908.0) - PromisesSwift (~> 2.1) + - FirebaseSharedSwift (10.29.0) - Flutter (1.0.0) - flutter_keyboard_visibility (0.0.1): - Flutter @@ -168,6 +197,8 @@ PODS: - GoogleUtilities/Environment (7.13.3): - GoogleUtilities/Privacy - PromisesObjC (< 3.0, >= 1.2) + - GoogleUtilities/ISASwizzler (7.13.3): + - GoogleUtilities/Privacy - GoogleUtilities/Logger (7.13.3): - GoogleUtilities/Environment - GoogleUtilities/Privacy @@ -247,6 +278,7 @@ DEPENDENCIES: - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`) - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) + - firebase_performance (from `.symlinks/plugins/firebase_performance/ios`) - Flutter (from `Flutter`) - flutter_keyboard_visibility (from `.symlinks/plugins/flutter_keyboard_visibility/ios`) - flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`) @@ -273,6 +305,7 @@ SPEC REPOS: - DKImagePickerController - DKPhotoGallery - Firebase + - FirebaseABTesting - FirebaseAnalytics - FirebaseCore - FirebaseCoreExtension @@ -280,8 +313,11 @@ SPEC REPOS: - FirebaseCrashlytics - FirebaseInstallations - FirebaseMessaging + - FirebasePerformance + - FirebaseRemoteConfig - FirebaseRemoteConfigInterop - FirebaseSessions + - FirebaseSharedSwift - GoogleAppMeasurement - GoogleDataTransport - GoogleUtilities @@ -308,6 +344,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/firebase_crashlytics/ios" firebase_messaging: :path: ".symlinks/plugins/firebase_messaging/ios" + firebase_performance: + :path: ".symlinks/plugins/firebase_performance/ios" Flutter: :path: Flutter flutter_keyboard_visibility: @@ -360,6 +398,8 @@ SPEC CHECKSUMS: firebase_core: 57aeb91680e5d5e6df6b888064be7c785f146efb firebase_crashlytics: e3d3e0c99bad5aaab5908385133dea8ec344693f firebase_messaging: c862b3d2b973ecc769194dc8de09bd22c77ae757 + firebase_performance: 8643e815a354ee94da1192cd69335a48a7b625a4 + FirebaseABTesting: d87f56707159bae64e269757a6e963d490f2eebe FirebaseAnalytics: 23717de130b779aa506e757edb9713d24b6ffeda FirebaseCore: 30e9c1cbe3d38f5f5e75f48bfcea87d7c358ec16 FirebaseCoreExtension: 705ca5b14bf71d2564a0ddc677df1fc86ffa600f @@ -367,8 +407,11 @@ SPEC CHECKSUMS: FirebaseCrashlytics: 34647b41e18de773717fdd348a22206f2f9bc774 FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd FirebaseMessaging: 7b5d8033e183ab59eb5b852a53201559e976d366 + FirebasePerformance: d0ac4aa90f8c1aedeb8d0329a56e2d77d8d9e004 + FirebaseRemoteConfig: 48ef3f243742a8d72422ccfc9f986e19d7de53fd FirebaseRemoteConfigInterop: 6efda51fb5e2f15b16585197e26eaa09574e8a4d FirebaseSessions: dbd14adac65ce996228652c1fc3a3f576bdf3ecc + FirebaseSharedSwift: 20530f495084b8d840f78a100d8c5ee613375f6e Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_keyboard_visibility: 0339d06371254c3eb25eeb90ba8d17dca8f9c069 flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12 diff --git a/lib/models/event.dart b/lib/models/event.dart index 7121eca..c138992 100644 --- a/lib/models/event.dart +++ b/lib/models/event.dart @@ -63,7 +63,7 @@ class Event { class EventMessageBody { String text; String algorithm; - List? attachments; + List? attachments; int? quoteEvent; int? relatedEvent; List? relatedUsers; @@ -82,7 +82,7 @@ class EventMessageBody { text: json['text'] ?? '', algorithm: json['algorithm'] ?? 'plain', attachments: json['attachments'] != null - ? List.from(json['attachments'].map((x) => x)) + ? List.from(json['attachments'].map((x) => x)) : null, quoteEvent: json['quote_event'], relatedEvent: json['related_event'], diff --git a/lib/models/stickers.dart b/lib/models/stickers.dart index 66da83a..ff26061 100644 --- a/lib/models/stickers.dart +++ b/lib/models/stickers.dart @@ -36,7 +36,7 @@ class Sticker { String get imageUrl => ServiceFinder.buildUrl( 'files', - '/attachments/$attachmentId', + '/attachments/${attachment.rid}', ); factory Sticker.fromJson(Map json) => Sticker( diff --git a/lib/screens/account/stickers.dart b/lib/screens/account/stickers.dart index fe2a763..45213c2 100644 --- a/lib/screens/account/stickers.dart +++ b/lib/screens/account/stickers.dart @@ -66,7 +66,7 @@ class _StickerScreenState extends State { Widget _buildEmoteEntry(Sticker item, String prefix) { final imageUrl = ServiceFinder.buildUrl( 'files', - '/attachments/${item.attachmentId}', + '/attachments/${item.attachment.rid}', ); return ListTile( title: Text(item.name), diff --git a/lib/shells/root_shell.dart b/lib/shells/root_shell.dart index 95e7fdc..c66c981 100644 --- a/lib/shells/root_shell.dart +++ b/lib/shells/root_shell.dart @@ -1,3 +1,4 @@ +import 'package:firebase_analytics/firebase_analytics.dart'; import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:solian/theme.dart'; @@ -29,6 +30,15 @@ class RootShell extends StatelessWidget { Widget build(BuildContext context) { final routeName = state.topRoute?.name; + if (routeName != null) { + FirebaseAnalytics.instance.logEvent( + name: 'screen_view', + parameters: { + 'firebase_screen': routeName, + }, + ); + } + return Scaffold( key: rootScaffoldKey, drawer: SolianTheme.isLargeScreen(context) diff --git a/pubspec.lock b/pubspec.lock index a9e69df..eb08189 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -550,6 +550,30 @@ packages: url: "https://pub.dev" source: hosted version: "3.8.12" + firebase_performance: + dependency: "direct main" + description: + name: firebase_performance + sha256: "6d17133458b9627f15f278d6f71bebbbce885d393f3462b690e55deeb5c36b90" + url: "https://pub.dev" + source: hosted + version: "0.10.0+4" + firebase_performance_platform_interface: + dependency: transitive + description: + name: firebase_performance_platform_interface + sha256: "28dc0a70a3459fe51d1c1be5754803a9a0db0e210322ec7526f6ce42bf6ad83e" + url: "https://pub.dev" + source: hosted + version: "0.1.4+40" + firebase_performance_web: + dependency: transitive + description: + name: firebase_performance_web + sha256: db91d86b34280f5253d2913945fdd51d7114486584a298a7bedf1c4b2ab08f79 + url: "https://pub.dev" + source: hosted + version: "0.1.6+12" fixnum: dependency: transitive description: @@ -1630,10 +1654,10 @@ packages: dependency: transitive description: name: sqflite_common - sha256: c5e5b2a142a893a752cb36ae5888680248686725a54afceff31f9a3a76bc53c2 + sha256: "7b41b6c3507854a159e24ae90a8e3e9cc01eb26a477c118d6dca065b5f55453e" url: "https://pub.dev" source: hosted - version: "2.5.4+1" + version: "2.5.4+2" sqflite_common_ffi: dependency: "direct dev" description: diff --git a/pubspec.yaml b/pubspec.yaml index 03bc625..17c46d4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -69,6 +69,7 @@ dependencies: firebase_analytics: ^11.2.1 video_player: ^2.9.1 chewie: ^1.8.3 + firebase_performance: ^0.10.0+4 dev_dependencies: flutter_test: