如何使用 requestReview() 正确请求 App Ratings

How to request App Ratings with requestReview() correctly

我目前正在学习如何向用户询问应用程序中的 AppStore 评级。我已经阅读了苹果和其他博主的大量文档和报告,但我仍然有疑问:

  1. 我想我想在用户完成一系列操作 3 次后显示我的请求。但是如果用户现在不想评价我的应用,我可以让他稍后再评价我的应用吗?我还读到 Apple 控制显示审核请求的时间和频率(最多 3 次/年)
  2. 我的应用程序有不同的功能。因此,不能保证用户准确访问此功能,我想在其中显示评级视图。因此,是否可以在应用程序的不同位置调用评级请求,然后让 Apple 决定是否也显示评级请求?

此致

为@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: { [=10=].activationState == .foregroundActive }) as? UIWindowScene {
                    SKStoreReviewController.requestReview(in: scene)
                    
                    lastVersion = currentVersion
                    runCountSinceLastRequest = 0
                }
            }
        }
    }
}

我假设您已经阅读过,但如果您还没有阅读,我会留下 link 供您查看:https://developer.apple.com/documentation/storekit/requesting_app_store_reviews

它包含有用的信息和指南,以及何时以及如何提示用户发表评论。

回到你的问题。

    • 是的,您可以再次要求审核,但不能保证审核 pop-up(警告)会再次出现。它通常会延迟时间,有时需要应用程序的新更新才能触发新的评论提示;没错,苹果有控制权,但不知道是不是一年只限3次
    • 是的,您可以在任何您认为合适的地方调用它多次。虽然,我强烈建议您阅读(如果还没有)上面的 link。您需要想出一种 non-intrusive 方式来请求评论,否则您可能会冒着用户关闭提示的风险,即使他们喜欢该应用程序也是如此。

只是一个建议,许多应用程序使用带有自定义弹出窗口的方法“你喜欢这个应用程序吗?Yes/No”,如果“是”,则使用 requestReview() 调用请求评论。 And/or 如上文所述,如果您需要它作为 CTA 的结果(例如点击按钮),您始终可以通过重定向到 AppStore 使用人工审核。