Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any way to check if SKStoreReviewController.requestReview() is going to be processed?

Tags:

I would like to show the following popup: "Are you enjoying the App?"

If yes - then show the inbuilt Apple's review request via SKStoreReviewController.requestReview()

If no - then re-direct the customer into support chat to get their feedback in a private two-way conversation

But unfortunately requestReview() call doesn't guarantee that popup is going to be shown to the customer and sometimes it doesn't. I didn't find any way to check if it's going to be shown if I call it now. Then look what happens when customer taps "Yes" - in some % of cases I'm missing a 5 star rating opportunity and who wants that?

Is there any way to check if requestReview() is going to show a popup?

To summarize the desired flow:

  1. Check if requestReview() is going to show the review request
  2. If no - show nothing to a customer and exit. End. Try later.
  3. If yes - show custom popup "Are you enjoying the App?"
  4. If customer chooses yes - request review via Apple's builtin requestReview()
  5. If customer chooses no - redirect to support chat to resolve the issue and avoid bad review

Thank you for any ideas!

like image 401
Alexander Stepanov Avatar asked Dec 04 '19 19:12

Alexander Stepanov


1 Answers

It is not possible to check if requestReview() will actually result in a Review Request.

Also remember that the user can disable requests for reviews from ever appearing on their device, so you should avoid referring to your app showing this prompt and never request a review using requestReview() as the result of a user action.

https://developer.apple.com/documentation/storekit/skstorereviewcontroller/requesting_app_store_reviews

and

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.

https://developer.apple.com/documentation/storekit/skstorereviewcontroller/2851536-requestreview

like image 145
pkamb Avatar answered Nov 02 '22 06:11

pkamb