I’ve heard this too… Scott your plugin works great. I’ve got it set up to show if the user has iOS 10.3 or higher.
I will say this… using the new rate/review popup that’s built-in to Apple is WAY better than using the previous method that takes users out of the app to the App Store. As far as capturing positive ratings, I’ve experienced at least 10x better results per app I’ve integrated this in.
My opinion on this remains unchanged from my June 12 post above.
Use Scott’s plugin. It’s free. It does what Apple wants.
Our native.showPopUp(“rateApp”) requires you to show a UI to ask the user to rate the app. Apple wants to control the UI presentation. Our API only comes into play after the user choses to rate the app. We don’t have any thing to fix.
Simply use Scott’s plugin. If you detect your on 10.2 or earlier, you can present your own rating UI that calls our popup if needed.
“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.”
In other words does **native.showPopup(“rateApp”, settings) **comply with the new Apple legislation or are core changes needed?
Hmmm… I vaguely remember some issue with that a few years ago, but I don’t recall the context. We removed the “rateApp” option from that API’s documentation, which must have been for a specific reason (again, I can’t remember the context at the time). I seem to recall it worked but had some unpredictable flaws.
In any case, to be fully compliant, you should start using Scott Harrison’s “Review Popup” plugin for iOS app ratings.
Based on the article it sounds like you have to use this api https://developer.apple.com/documentation/storekit/skstorereviewcontroller Which is what this plugin is https://marketplace.coronalabs.com/plugin/review-popup The person writing this article could me misinterpreting what Apple said. But if the article absolutely right it sounds like you have to use it. I don’t have any apps to test this with but I am waiting to hear from some developer guinea pigs. This article did not make it clear about what to do with 10.3 user.
We’re doing research into this now. It doesn’t seem likely (or even possible) that Apple can enforce a feature only available on 10.3, when users have devices still running versions of iOS much older.
The possible misinterpretation (of the article) is that, it seems, they will be restricting variations of “custom” UI or URL redirection methods that don’t end up using one of the Apple methods, whether that be the traditional popup for ratings, or the newer in-app ratings feature.
I’ll update this thread as I narrow down the correct answer…
Not sure on the ramifications to core though with that clause?
If Scott’s plugin uses the new API and doesn’t break older versions (or the API will gracefully fall back on iOS 10.2) then I suggest his code is included into core.
So basically it appears that Apple wants to control the presentation of rate dialogs going forward. Before you ever get a chance to call our native.showPopup() API you have to present something to the user to ask them if they want to rate your app. Our popup doesn’t ask that question it just opens the App store app and takes you to your app’s page.
There is currently no Apple provided API to ask a user to rate the app pre-10.3. In 10.3 they have added a new API called “SKStoreReviewController”. I believe that Scott Harrison’s “Review Popup” calls this controller (https://marketplace.coronalabs.com/plugin/review-popup).
Since Corona builds with 10.3 and this plugin is available you should be able to meet Apple’s new requirements. However, things get a bit weird pre-10.3. I tried to run an app on a 9.3 device today that call’s Scott’s plugin. It seems to ignore the call to his .show() method. It works expected on my 10.3.2 iPhone.
I don’t see how Apple can reject you since OS’s other than 10.3 are supported and 10.3 is the earliest OS where you can even begin to use SKStoreReviewController. I’ve not heard of anyone being rejected yet.
Anyway, if you do get rejected, you have a path forward using Scott’s plugin. It’s currently free though he could change it at some point.
We plan to discuss this in the team meeting tomorrow, but perhaps the best thing to do for now is put in a test in your code and if you’re on an iOS 10.3+ device, show Scott’s plugin, if not show your current rate me dialog calling our popup to get you to the store.
Now as for if our showPopup(“rateApp”) “works” is open to discussion. It does not call an error and the app store app is loaded to your app but it does not take you to the “Review and Rate” page, which it used to do pre-iOS 7. So “appStore” and “rateApp” are in effect the same thing. Some would argue that’s broken :-)
While you can’t pop up a custom rate dialog, you can still have a link directly to the review app page in the app store, when the user elects to review your app with a button tap.
Note that the Corona-supplied showPopup(“rateApp” ) does not have the &** action=write-review** parameter so it just takes you to the app store page.
As of 10.3 (and maybe earlier 10.x), you can use this snippet to go directly to the review page:
Eventually. Engineering is aware of the issue, though I need to share some new info with them. They’ve agreed we need to fix it, so now its just a matter of working it into their priorities.