I am currently learning how to ask the user for an AppStore rating in the app. I have read through numerous documentations and reports from Apple and other bloggers, but I still have questions:
Best regards
Edit for @K bakalov :
enum AppReviewRequest {
    
    @AppStorage("runCountSinceLastRequest") static var runCountSinceLastRequest = 0
    @AppStorage("lastVersion") static var lastVersion = ""
    
    static let threshold = 4
    static let currentVersion = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as! String
    static func countUpRequestReview() {
        if currentVersion != lastVersion {
            if runCountSinceLastRequest < threshold - 1 {
                runCountSinceLastRequest += 1
                print(runCountSinceLastRequest)
            }
        }
    }
    
    static func requestReviewIfNeeded() {
        if currentVersion != lastVersion {
            if runCountSinceLastRequest == threshold {
                if let scene = UIApplication.shared.connectedScenes.first(where: { $0.activationState == .foregroundActive }) as? UIWindowScene {
                    SKStoreReviewController.requestReview(in: scene)
                    
                    lastVersion = currentVersion
                    runCountSinceLastRequest = 0
                }
            }
        }
    }
}
                I assume you already read that but if you haven't I am leaving a link for you to check it out: https://developer.apple.com/documentation/storekit/requesting_app_store_reviews
It contains helpful information and guides when and how to prompt the user to leave a review.
Back to your questions.
Just an advice, many apps use an approach with a custom popup "Do you like the app? Yes/No", if "Yes" then request a review using requestReview() call. And/or as mentioned in the article above, you can always use a manual review by redirecting to the AppStore, if you need it as a result of a CTA (tap on a button for example).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With