Apple's Latest Point Release

DZone 's Guide to

Apple's Latest Point Release

The new APIs will eventually be the only sanctioned way for an iOS app to prompt for an App Store review, but Apple has no timeline for when they’ll start enforcing them.

· Mobile Zone ·
Free Resource

OK, now that was unexpected in a point release.

Managing App Store Ratings and Reviews

iOS 10.3 introduces a new way to ask customers to provide App Store ratings and reviews for your app. Using the SKStoreReviewController API, you can ask users to rate or review your app while they’re using it without sending them to the App Store. You determine the points in the user experience at which it makes sense to call the API and the system takes care of the rest.

When iOS 10.3 ships to customers, you will be able to respond to customer reviews on the App Store in a way that is available for all customers to see. (This feature will also be available on the Mac App Store.)

Well, that sounds promising, doesn’t it now? Although when you actually look at the new API, there are some interesting restrictions.


requestReview() tells StoreKit to ask the user to rate or review your app, if appropriate. Although you should call this method when it makes sense in the user experience flow of your app, the actual display of a rating/review request view is governed by App Store policy. Because this method may or may not present an alert, it’s not appropriate to call it in response to a button tap or other user action.

When you call this method in your shipping app and a rating/review request view is displayed, the system handles the entire process for you. In addition, you can continue to include a persistent link in the settings or configuration screens of your app that deep-links to your App Store product page. To automatically open a page on which users can write a review in the App Store, append the query parameter action=write-review to your product URL.

If your first reaction is that you want to control the presentation, go ahead and dupe this Radar.

Allow User-Initiated App Store Rating/Review Request Alerts

Although we’re going to go out on a limb here and assume that the lack of that ability is a quite deliberate decision, kinda hard to imagine them just forgetting about, don'tcha think? So, it’s not likely to happen, but we shall see. Learn more here.

Some more details have trickled out, as well.

Apple Explains the New App Reviews API for Developers

Apple is also limiting the number of times developers can ask customers for reviews. Developers will only be able to bring up the review dialog three times a year. If a customer has rated the app, they will not be prompted again. If a customer has dismissed the review prompt three times, they will not be asked to review the app for another year. Customers will also have a master switch that will turn off the notifications for app reviews from all developers if they wish to do that. On iOS, you can now use 3D Touch to label a review as “helpful,” a feature that wasn’t available before for iOS users.

Additional Details on the New App Store Review Features

The replies that developers will be able to leave on App Store reviews will be attached to the user review to which they’re replying. It’s not a thread, per se, because users can only leave one review and developers can only leave one response to each review, but they will be connected visually. Users can then edit their review, and developers can then edit their reply.

The new APIs will eventually be the only sanctioned way for an iOS app to prompt for an App Store review, but Apple has no timeline for when they’ll start enforcing them. Existing apps won’t have to change their behavior or adopt these APIs right from the start.

So, there you go. Start planning your new and improved review-begging UX now!

app store, apple, mobile, point release

Published at DZone with permission of Alex Curylo , DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}