There are numerous articles on SO that the SKStoreProductViewController
disables the "Write a review" button. However all of these SO articles are years old and the apple docs for SKStoreProductViewController
do not mention that restriction.
When tested in iOS 9.3.2 the button was not displayed as disabled but simply nothing happened when tapping it, which is not only confusing to developers but also to users and that doesn't seem right.
So is it true for iOS 9 that
The accepted answer explains the difference between SKStoreProductViewController
and SKStoreReviewController
for use with app rating / review. The original question was written before the introduction of SKStoreReviewController
.
Ask in the upbeat emails you need to send anyway If you're not going to spam your customers inside of your app don't substitute that with spamming them outside of the app. Instead, take a few emails you're going to send anyway, and put your “ask” in them.
Users can rate your app on a scale of one to five stars. Individual ratings inform your app's summary rating, which is displayed on your product page and in search results. This summary rating is specific to each territory on the App Store and you can reset it when you release a new version of your app.
The Google Play In-App Review API lets you prompt users to submit Play Store ratings and reviews without the inconvenience of leaving your app or game. Generally, the in-app review flow (see figure 1) can be triggered at any time throughout the user journey of your app.
Apparently the SKStoreProductViewController
is only intended for purchasing apps on the App Store and not for reviewing products. That can be implicitly understood from the Apple docs:
A SKStoreProductViewController object presents a store that allows the user to purchase other media from the App Store. For example, your app might display the store to allow the user to purchase another app.
As long as this restriction exists, the only workaround is deep linking to the App Store app, e.g.
let url = NSURLComponents(string: "itms-apps://itunes.apple.com/app/id\(yourAppleAppId)")!
UIApplication.sharedApplication().openURL(url)
The SKStoreReviewController
allows users to rate an app directly from within the app through a dialog box. The only downsite is that you can only request StoreKit
to display the dialog, but can't be sure if it will.
Tells StoreKit to ask the user to rate or review your app, if appropriate.
Be aware that Apple is likely to disallow custom app rating and review prompts in the near future with the introduction of SKStoreReviewController
. The app review guidelines state:
Use the provided API to prompt users to review your app; this functionality allows customers to provide an App Store rating and review without the inconvenience of leaving your app, and we will disallow custom review prompts.
A current disadvantage, and probably the reason why custom review prompts are still allowed, is that Apple has yet to provide an API to get review metrics and post responses to written reviews. The only current solution via iTunes Connect
which is not practical for large scales and performance requirements in customer service environments.
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