From 4bfbf5d4fd2daf92d353a9596f40a8756dccb8d3 Mon Sep 17 00:00:00 2001 From: Vadim <44135514+vodemn@users.noreply.github.com> Date: Sat, 27 Jan 2024 21:53:58 +0100 Subject: [PATCH] log product id for IAP errors --- lib/data/analytics/analytics.dart | 2 ++ lib/data/analytics/api/analytics_api_interface.dart | 2 ++ lib/data/analytics/api/analytics_firebase.dart | 5 +++++ .../pro_features_dialog/widget_dialog_pro_features.dart | 8 +++++++- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/data/analytics/analytics.dart b/lib/data/analytics/analytics.dart index 1231a05..b666b1a 100644 --- a/lib/data/analytics/analytics.dart +++ b/lib/data/analytics/analytics.dart @@ -49,4 +49,6 @@ class LightmeterAnalytics { information: information, ); } + + Future setCustomKey(String key, String value) async => _api.setCustomKey(key, value); } diff --git a/lib/data/analytics/api/analytics_api_interface.dart b/lib/data/analytics/api/analytics_api_interface.dart index 5c8f013..ab75036 100644 --- a/lib/data/analytics/api/analytics_api_interface.dart +++ b/lib/data/analytics/api/analytics_api_interface.dart @@ -10,4 +10,6 @@ abstract class ILightmeterAnalyticsApi { dynamic reason, Iterable information = const [], }); + + Future setCustomKey(String key, String value); } diff --git a/lib/data/analytics/api/analytics_firebase.dart b/lib/data/analytics/api/analytics_firebase.dart index 691e393..5c22454 100644 --- a/lib/data/analytics/api/analytics_firebase.dart +++ b/lib/data/analytics/api/analytics_firebase.dart @@ -39,4 +39,9 @@ class LightmeterAnalyticsFirebase implements ILightmeterAnalyticsApi { fatal: true, ); } + + @override + Future setCustomKey(String key, String value) async { + await FirebaseCrashlytics.instance.setCustomKey(key, value); + } } diff --git a/lib/screens/shared/pro_features_dialog/widget_dialog_pro_features.dart b/lib/screens/shared/pro_features_dialog/widget_dialog_pro_features.dart index c58e94d..50cca42 100644 --- a/lib/screens/shared/pro_features_dialog/widget_dialog_pro_features.dart +++ b/lib/screens/shared/pro_features_dialog/widget_dialog_pro_features.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:lightmeter/generated/l10n.dart'; +import 'package:lightmeter/providers/services_provider.dart'; import 'package:lightmeter/res/dimens.dart'; import 'package:lightmeter/screens/metering/components/shared/readings_container/components/shared/animated_dialog_picker/components/animated_dialog/widget_dialog_animated.dart'; import 'package:lightmeter/screens/shared/transparent_dialog/widget_dialog_transparent.dart'; @@ -44,7 +45,12 @@ class ProFeaturesDialog extends StatelessWidget { ), FilledButton( onPressed: () { - _close(context).then((_) => IAPProductsProvider.maybeOf(context)?.buy(IAPProductType.paidFeatures)); + _close(context).then((_) { + ServicesProvider.of(context) + .analytics + .setCustomKey('iap_product_type', IAPProductType.paidFeatures.storeId); + IAPProductsProvider.maybeOf(context)?.buy(IAPProductType.paidFeatures); + }); }, child: Text(S.of(context).unlock), ),