Apple请求用户评分requestReview
Apple请求用户评分requestReview

Apple请求用户评分requestReview

之前写过一篇类似的文章《Swift App请求用户为应用评分》,使用 Environment(\.requestReview) 调用评分弹窗,但是因为与NavigationLink存在冲突,因此再写一篇requestReview评分的文章。

SKStoreReviewController.requestReview() 是 Apple 提供的 API,用于请求用户对应用进行评分和评论。它会弹出一个系统级的评分弹窗,让用户能够快速为应用打分,且无需跳转到 App Store。

主要特点

1、内嵌评分界面

调用 requestReview() 后,系统会弹出一个内嵌的评分界面,用户可以在其中为应用评分(1到5颗星)并选择是否写评论。用户无需离开应用,提供了一种非常便捷的评分方式。

2、不强制弹窗

评分请求弹窗并不会每次都出现。系统会根据一些算法决定何时显示评分弹窗。比如应用的使用频率、时机等因素。

这是为了避免应用频繁弹出评分请求窗口,提升用户体验。

3、触发条件

系统会控制何时显示评分弹窗。例如,用户可能需要先使用应用一段时间,或者进行一些交互,才能触发评分请求。

评分弹窗的频率受到限制,通常每个版本的应用最多只能显示三次评分请求弹窗。

4、不可自定义评分窗口

与传统的弹窗不同,SKStoreReviewController.requestReview() 并不能自定义评分窗口的外观或行为。它完全由系统控制,开发者只能在合适的时机调用它。

用法

调用 SKStoreReviewController.requestReview() 的代码非常简单,通常会在用户完成一定的任务、达成某个目标或者在特定时机触发评分请求。

import StoreKit

if #available(iOS 14.0, *) {
    SKStoreReviewController.requestReview()
}

如何触发

版本要求:iOS 10.3 及以上版本支持该功能,但是在 iOS 14.0 之后,requestReview() 已被标记为废弃。

频率限制:即使调用了 requestReview(),系统会根据一定的规则来控制评分弹窗的显示频率,不会每次都显示。

触发时机

自然使用:当用户完成某个功能或任务,或者在应用内交互频繁时,可以适时请求评分。

反馈:当用户表示满意或者完成一个阶段性的目标时,适合请求评分。

注意事项

1、不会强制显示:requestReview() 不一定会弹出评分窗口。系统会判断何时显示,这取决于多个因素,如用户的使用频率、时机等。

2、避免频繁调用:尽量不要在每次应用启动时都调用 requestReview(),以免引起用户的反感。通常建议选择应用的特定时机或达到某个阶段后再触发。

3、测试环境:在测试时,requestReview() 的弹窗可能不会显示,尤其是在 TestFlight中。

根据Apple的文档表示,使用TestFlight分发的应用中调用此方法时,该方法无效,因此不用担心TestFlight中调用失败的情况。

总结

SKStoreReviewController.requestReview() 是一种轻量级的 API,可以方便地请求用户为应用评分,而不需要跳转到 App Store。它能帮助开发者提高应用的评分和评论,改善应用的可见度和用户反馈。

在应用更新后,我测试发现当我通过点击设定的动画次数触发SKStoreReviewController.requestReview(),发现并没有调用弹窗。

查看前面的文章了解到,App Store决定了评分和评价请求视图的实际显示,这个方法不适合在按钮点击或者其他用户操作时调用或效应

因此,只能在调用后,等待App Store决定评分视图的调用时机。

相关文章

1、Swift App请求用户为应用评分:https://fangjunyu.com/2024/11/19/swift-app%e8%af%b7%e6%b1%82%e7%94%a8%e6%88%b7%e4%b8%ba%e5%ba%94%e7%94%a8%e8%af%84%e5%88%86/

2、SwiftUI请求评分requestReview和NavigationLink冲突问题:https://fangjunyu.com/2025/02/27/swiftui%e8%af%b7%e6%b1%82%e8%af%84%e5%88%86requestreview%e5%92%8cnavigationlink%e5%86%b2%e7%aa%81%e9%97%ae%e9%a2%98/

3、SKStoreReviewController.requestReview() popup is not showing in TestFlight build:https://stackoverflow.com/questions/46770549/skstorereviewcontroller-requestreview-popup-is-not-showing-in-testflight-build

4、In app review option does not work in the Testflight builds #194:https://github.com/pushandplay/cordova-plugin-apprate/issues/194

5、requestReview():https://developer.apple.com/documentation/storekit/skstorereviewcontroller/requestreview()

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注