如何使用 requestReview() 正确请求 App Ratings
How to request App Ratings with requestReview() correctly
我目前正在学习如何向用户询问应用程序中的 AppStore 评级。我已经阅读了苹果和其他博主的大量文档和报告,但我仍然有疑问:
- 我想我想在用户完成一系列操作 3 次后显示我的请求。但是如果用户现在不想评价我的应用,我可以让他稍后再评价我的应用吗?我还读到 Apple 控制显示审核请求的时间和频率(最多 3 次/年)
- 我的应用程序有不同的功能。因此,不能保证用户准确访问此功能,我想在其中显示评级视图。因此,是否可以在应用程序的不同位置调用评级请求,然后让 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 使用人工审核。
我目前正在学习如何向用户询问应用程序中的 AppStore 评级。我已经阅读了苹果和其他博主的大量文档和报告,但我仍然有疑问:
- 我想我想在用户完成一系列操作 3 次后显示我的请求。但是如果用户现在不想评价我的应用,我可以让他稍后再评价我的应用吗?我还读到 Apple 控制显示审核请求的时间和频率(最多 3 次/年)
- 我的应用程序有不同的功能。因此,不能保证用户准确访问此功能,我想在其中显示评级视图。因此,是否可以在应用程序的不同位置调用评级请求,然后让 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 使用人工审核。