Description
To improve app store engagement and gather user feedback, we need to implement a rating prompt system. Before building the UI components, we need a solid foundation to handle the logic of when to show the prompt (based on usage frequency, versioning, or specific events).
This issue focuses on setting up the core logic, storage for tracking app launches/events, and the service responsible for triggering the prompt.
Acceptance Criteria
- Storage Layer: Implement a mechanism (via
UserDefaults or a local database) to track:
- Total app launch count.
- Date of the first launch.
- The last version the user was prompted on (to prevent duplicate prompts on the same version).
- Prompt Engine: Create a
RatingPromptService that determines eligibility based on configurable rules:
- Minimum number of days since first launch.
- Minimum number of app launches or "significant events."
SKStoreReviewController Integration: Create a wrapper to call the system requestReview(in:) API.
Description
To improve app store engagement and gather user feedback, we need to implement a rating prompt system. Before building the UI components, we need a solid foundation to handle the logic of when to show the prompt (based on usage frequency, versioning, or specific events).
This issue focuses on setting up the core logic, storage for tracking app launches/events, and the service responsible for triggering the prompt.
Acceptance Criteria
UserDefaultsor a local database) to track:RatingPromptServicethat determines eligibility based on configurable rules:SKStoreReviewControllerIntegration: Create a wrapper to call the systemrequestReview(in:)API.