I am trying to implement Expo Store Review and it seems like it worked once, but after that nothing happens… is this expected? If so, is there a way to tell that a user has already given a review?
I don’t know about your second question, but I believe part of the IOS/Android api is to not show the review modal if they have seen it recently. Don’t quote me on this though, I’m not even able to get it to show up for the first time.
I’v found out that in Android it shows only once and no matter what user did there - it won’t show again for some time. There seems no specific timeout for this. But minimum timeout is 1 month. More safe timeout is like 2-3 months.
For iOS there is a mention in App Store guidelines:
The SKStoreReviewController API lets you give users an easy way to provide feedback about your app. You can prompt for ratings up to three times in a 365-day period. Users will submit a rating through the standardized prompt, and can write and submit a review without leaving the app.
People recommend remembering each call to
StoreReview.requestReview() and while modal is not accessible - use an alternative way to request review like
Linking.openURL(appUrlInStore) described in Expo docs.
Also it seems like there is no way to detect if modal was opened or not.
This is quite a pain if the only way I request review is by a button in settings. Unfortunately many apps just misuse this feature and we got what we deserve - limitations…
Also there is an issue about limits: [docs] Missing rate limits for store review requests · Issue #12780 · expo/expo · GitHub