Get more app ratings: SKStoreReviewController and Play In-App Review rules

Español · Deutsch · Polski · Français

Both stores give you a system rating prompt and both limit how often it can appear. Here is how each one works and what the rules forbid.

Free app review check · Review export · Reply generator · Sample report · Report €19 · Competitor Pack €29 · Monitor €29/month

iOS: use the system prompt

import StoreKit
import SwiftUI

struct DoneView: View {
    @Environment(\.requestReview) private var requestReview
    var body: some View {
        Text("Export finished")
            .task { requestReview() } // after a completed task, never from a button
    }
}

Android: Google Play In-App Review API

val manager = ReviewManagerFactory.create(context)
manager.requestReviewFlow().addOnCompleteListener { task ->
    if (task.isSuccessful) {
        manager.launchReviewFlow(activity, task.result)
            .addOnCompleteListener { /* continue the app flow either way */ }
    }
}

What both stores forbid

Why it matters

Apple says ratings and reviews influence how your app ranks in search (Apple Developer: Creating your product page). Google Play's rating is weighted towards recent ratings (Play Console Help: View and analyze your app's ratings and reviews).

Timing is the other half: see When to ask for app reviews.

Sources

Related guides

Questions

How many times can I show the iOS rating prompt?

Apple shows the system prompt at most three times in a 365-day period for a user who hasn't rated the app.

Is SKStoreReviewController deprecated?

Yes, as of iOS 18. Apple recommends AppStore.requestReview(in:) or SwiftUI's RequestReviewAction.

Can I ask "Do you like the app?" before the Google Play review card?

No. Google's guidelines say not to ask any questions before or while presenting the in-app review card.

Can I give rewards for ratings?

No. Google Play prohibits incentivised ratings and reviews, and Apple's guideline 5.6.3 prohibits manipulating reviews.