4

So I have an app which is already on the app store and i’m now trying to implement the SKStoreReviewController.

I’ve added the logic for handling and showing the dialog via the request review method. But this dialog only appears 3 times on a fresh device and on other certain devices it’s not appearing at all.

It’s almost acting like the app is live on the app store. An addendum to this is once a user rates the app, will the popup dialog be shown again?

Tunds
  • 1,804
  • 2
  • 15
  • 30
  • Possible duplicate of [Why the SKStoreReviewController does not let me submit a review?](https://stackoverflow.com/questions/45057452/why-the-skstorereviewcontroller-does-not-let-me-submit-a-review) – CodeBender Feb 12 '18 at 20:13
  • No since i’m not trying to submit a review, i’m trying to make the dialog appear on an actual device – Tunds Feb 12 '18 at 20:14
  • Yea, there is a relevant line in the answer: When running from the AppStore, only users who purchased (free or paid) your app will see it up to three times a year – CodeBender Feb 12 '18 at 20:16
  • But i’m running the build from xcode, although it is on the app store and debug mode is enabler for the target – Tunds Feb 12 '18 at 20:17
  • 1
    Then likely what has happened is you built the app over your previous install, so the OS never updated the internal tracking. Try uninstalling the app, then re-install from XCode. – CodeBender Feb 12 '18 at 20:18
  • I’m not currently able to but i will try that – Tunds Feb 12 '18 at 20:19
  • I've seen similar issues (universal links come to mind) where an iOS device retains original values from the first time the app was installed, despite subsequent builds changing them. I was only able to resolve this by removing the app from the device - so you may be in the same spot here. – CodeBender Feb 12 '18 at 20:20
  • Thanks for the suggestion I will give that a go – Tunds Feb 12 '18 at 20:21
  • 2
    I had the same problem, but in my case my iphone wasn't connected to wifi (or mobile data), so the dialog didn't show. Once the device was connected to a real live network, the dialog showed up every time in debug. – JohnV Mar 25 '18 at 03:53
  • @Tunds, Is this worked for you on app upgrade? – Vardhan Jun 28 '18 at 12:28

2 Answers2

1

Although, it is not mentioned in documentation: No matter how many times you call the API, the system will only show up to a maximum of 3 prompts to the same user in a 365-day period. And it will be shown once for one version.

The alert is always shown in debug. Note, a user can disable rating alert at all going to Settings -> iTunes & App Store -> In-app ratings & review.

More information here.

Oleg
  • 488
  • 4
  • 14
  • I’m in debug and have checked the run settings for each target and it’s still showing – Tunds Feb 12 '18 at 18:06
  • From my experience, it is always shown in debug. Or do you mean distributing ad-hoc build? If so, then I am not sure that it should be always presented. – Oleg Feb 12 '18 at 18:09
  • When i go to manage schemes and check the scheme the run settings are for debug – Tunds Feb 12 '18 at 18:10
  • Then it is weird because even [documentation](https://developer.apple.com/documentation/storekit/skstorereviewcontroller/2851536-requestreview) says: `When you call this method while your app is still in development mode, a rating/review request view is always displayed so that you can test the user interface and experience. ` – Oleg Feb 12 '18 at 18:12
  • So I've just tested on the simulator and it's popping up everytime fine, but this behaviour isn't the same on an actual device. So I'm assuming it behaves differently on a device vs the simulator. – Tunds Feb 12 '18 at 19:05
  • I really tested it on simulator. Good investigation btw. – Oleg Feb 12 '18 at 20:58
  • No worries, did you delete the app and test to see if it appears? – Tunds Feb 12 '18 at 21:00
  • Yes, correct. I did delete the app and install it again. – Oleg Feb 13 '18 at 16:48
1

Ensure that your device has an internet connection. For me it did not work when my device was in airplane mode.

Marceeelll
  • 626
  • 6
  • 10