-
Notifications
You must be signed in to change notification settings - Fork 0
Feat/analytics configuration tab #146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Update core dependency from v1.4.0 to latest commit (a8a1714) - This ensures the project uses the most recent version of the core package
- Add new strings for analytics settings in both English and Arabic - Include translations for analytics tab, provider, events, and sampling rates - Cover descriptions for system status, event configuration, and provider selection - Introduce labels for Firebase and Mixpanel analytics providers
- Implement AnalyticsConfigForm widget for configuring analytics settings - Add provider selection using SegmentedButton - Implement events configuration with CheckboxListTile and sampling rate slider - Localize all strings using AppLocalizations - Ensure proper theming and spacing using ui_kit and core packages
- Insert AnalyticsConfigForm and its corresponding ExpansionTile - Update existing ExpansionTile indices to maintain correct order - Add analytics-related strings for localization
- Added analytics event labels and descriptions for various user actions - Included events for user registration, login, content interaction, filtering, search, and subscription management - Covered events for ad interactions, theme and language changes, and review prompts - Provided labels and descriptions in both Arabic and English
- Add Analytics config form to FeaturesConfigurationTab - Implement ExpansionTile for analytics settings - Include analytics description and icon - Ensure proper spacing and styling for new configuration section
…ions - Add labels and descriptions to analytics events in the configuration form - Implement `_getEventLabel` and `_getEventDescription` methods - Update UI to display event labels and descriptions - Improve code readability and type safety
- Update null safety for event enabling toggle - Remove unnecessary decimals in slider definition - Add missing case description for source filter event
- Remove the entire ExpansionTile block related to analytics configuration - Remove the unused SizedBox
- Implement FeedConfigForm widget for configuring feed settings - Add functionality to change feed item click behavior - Implement expandable list for feed decorators configuration - Integrate localization for all labels and descriptions
- Remove unused _getDecoratorDescription method - Replace individual feed-related widgets with FeedConfigForm - Conditionally render ad-related forms based on remoteConfig features - Remove direct manipulation of feed item click behavior
…ics enablement - Wrap provider and events sections in a conditional check for analyticsConfig.enabled - Ensure these sections are only rendered if analytics is enabled
… on push configuration - Wrap primary provider and delivery types sections in a conditional check for pushConfig.enabled - Ensure these sections are only displayed when push notifications are enabled
Summary of ChangesHello @fulleni, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the application's configurability by adding a comprehensive analytics configuration tab. This new feature provides granular control over analytics providers, event tracking, and data sampling. Concurrently, the existing dashboard overview functionality has been deprecated and removed, streamlining the application's focus and reducing unnecessary complexity. The changes also include refactoring of other feature configuration sections into more modular components. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a new 'Analytics' configuration tab and refactors the existing 'Features' tab for better organization. The logic for feed configuration has been extracted into its own widget, which improves modularity.
A few points for consideration:
- The
overviewpage and its related BLoC have been removed. While the removal is clean, the pull request description lacks details about this significant change. It would be beneficial to document the reasoning behind this. - The dependency on the
corepackage inpubspec.yamlis now pinned to a specific commit hash instead of a version tag. While this might be necessary, it's generally better to depend on tags or versions for stability and clarity. - I've added a couple of suggestions to improve maintainability in the new analytics form and the features configuration tab.
Overall, the new feature is well-implemented with good structure and localization support.
lib/app_configuration/view/tabs/features_configuration_tab.dart
Outdated
Show resolved
Hide resolved
- Consolidate App Monetization & Remote Control sections into Real-Time App Configuration & Remote Control - Combine Dynamic Application Control and Centralized Monetization Engine into a single, cohesive section - Add Analytics & Data Insights subsection to highlight new capabilities - Improve readability and conciseness of the content
- Combine event label and description into a single function - Simplify checkbox list tile creation with destructuring - Update function signature to use AppLocalizations directly - Return tuple with label and description for each event
- Replace int-based indexing with _FeatureTile enum for tracking expanded tile - Update ValueNotifier type from int? to _FeatureTile? - Modify ExpansionTile builders to use enum values instead of indices - Improve readability and maintainability of features configuration tab
- Update pinput dependency in pubspec.yaml - This change ensures compatibility with the latest Flutter version
- Change pinput version from 6.0.1 to 6.0.0 in pubspec.yaml
Status
READY
Description
This pull request significantly enhances the application's configurability by adding a comprehensive analytics configuration tab. This new feature provides granular control over analytics providers, event tracking, and data sampling. Concurrently, the existing dashboard overview functionality has been deprecated and removed, streamlining the application's focus and reducing unnecessary complexity. The changes also include refactoring of other feature configuration sections into more modular components.
Type of Change