在 www.raywenderlich.com App Store Review 教程Requesting App Ratings and Reviews Tutorial for iOS中,作者 (Sanket Firodiya) 说 Apple 实施了某些限制:
- 每年限三次,
- 不能保证会显示提示,并且
- “系统不得显示与当前捆绑版本匹配的应用捆绑版本的提示。这样可以确保不会要求用户多次查看相同版本的应用。”
我正在写第三个限制。该教程似乎说 Apple 强制执行该版本限制,但教程的示例代码也执行此操作(Apple 的示例代码也是如此)。我相信在调用之前进行版本测试requestReview
很容易导致没有评级请求。正如我在下面解释的那样,如果 Apple 进行该测试会更好,但他们会这样做吗?
细节:
在Requesting App Store Reviews中,Apple 表示我们应该对[SKStoreReviewController requestReview]
每个应用程序版本只做一次,Apple 的示例代码包括调用之前的版本测试requestReview
。此外,我们被告知requestReview
将对话的出现限制为每年 3 次。因此,如果一个特定的调用requestReview
导致没有对话,那么将不会再有调用requestReview
(直到版本被更改),所以这个版本绝对不会有评级对话。并且当版本更改时,似乎不太可能出现审阅对话框(除非第一次调用requestReview
显示对话框)。
这令人困惑。由于 call 的版本限制requestReview
,每年 3 次的限制似乎没有用,或者至少是过度的。由于这两个相互冲突的限制,即使发布了新版本,用户也可能永远不会看到评论对话框。但是,我知道事实并非如此。所以,我相信苹果测试当前版本的示例代码是不正确的。更有意义的是,Apple 会强制执行该限制,因为他们知道是否出现了对话框。
如果 API 返回一个布尔值,指示对话框是否出现,那么只有在对话框出现时我们才能保存版本号。我想知道 Apple 是否在 SDK 中这样做。
我了解 Apple 关于何时发出请求的其他建议,例如等待用户参与、不中断活动等。这个问题只是关于与应用程序版本有关的限制。
我是否应该实施版本限制?如果我进行该测试,我怎么能期望出现一个对话框?也许,第一次调用requestReview
总是会导致审查对话(如果它不是一年中的第三次调用)——是吗?
顺便说一句,我不是第一个担心这个问题的人。请参阅forums.raywenderlich.com。
杰夫