iOS: SKStoreReviewController and RequestReviewAction
On iOS the prompt was long requested with SKStoreReviewController.requestReview(). Newer apps use RequestReviewAction in SwiftUI or AppStore.requestReview(in:). The system decides whether the dialog actually appears: Apple shows it at most three times in 365 days per user, and never in TestFlight builds.
Android: Google Play In-App Review API
Google Play offers the In-App Review API (part of the Play Core libraries). Google applies its own time-bound quota and doesn't promise the dialog is shown, so the app must continue normally either way.
Best practices
- Ask after a moment of success — a finished workout, a delivered order, a saved document.
- Never ask on first launch or right after an error.
- Don't gate it ("Do you like the app? Yes → review, No → feedback form"). Both stores discourage steering only happy users to the review dialog.
- Measure the effect. Track how your app rating and review volume change after you add or move the prompt.
Example
A meditation app requests a review after the user's fifth completed session instead of on day one. Ratings per week double and the average rises — because the people being asked have actually used the app.
New ratings and app reviews that the prompt brings in still need reading: app review monitoring sends them to your team.