As you know, with iOS 10.3, Apple finally made it very easy to request and post reviews while inside your app/game.
I have made a very small Unity native iOS plug-in, in order to use this functionality.
To use it, just call NativeReviewRequest.RequestReview(); and it is that simple. I guess the best place to use this is after a very memorable moment in your game, after a highscore, for example.
Download the plug-in from here:
NativeReviewRequest.unitypackage
Here are few screenshots what you should expect, when you call it:
And after you choose a star rating:
Submit is disabled, because I am testing this in a Development build.
22 Comments
Join the discussion and tell us your opinion.
This is just awesome work, thank you very much!
Nice!!! Saved the know-nothing-on-iOS-native-code us much time!
Nothing happened when I ran it 🙁
When you run the app from Xcode and call the function, you should see the dialog every time. No idea why it is not working for you?
Thanks for the easy to use plugin !
Would you know what determines the height of the pop-up? we noticed in our game that the pop-up needed to be scrolled downwards slightly for the user to clearly see the submit button, with what looked like padding around the icon.
No idea, are you running the app in portrait or landscape? Scrolling is weird, maybe Apple has a bug or something?
Hi, thanks for the plugin!
Is there any way to know whether the native pop up loaded or not? I mean, if not, I’d like to use my own flow of rating…
Thanks.
I don’t think so, the idea is that Apple will decided when to show the Native dialog, when you call the function. I guess they do some AI work behind the scenes.
Hi Kamed,
Great work in putting up things together and developing this plugin for Unity. Do you know how can I enable the Submit button to make everything working as expected?
Thank you
The Submit button will be disabled when running the app in Developer mode, it will work, once you get it on the App Store.
Thank you for the swift response Kamend. What if my game is already available on the store? Does it need to be available with the version in which I have implemented this new review feature? I tried exporting without Development marked build but the Submit button was still disabled.
For your users with ios version below 10.3, you may still want to open the itms-apps:// link instead. I extended your class with a method:
float getOsVersion() {
return [UIDevice currentDevice].systemVersion.floatValue;
}
Its a quick dirty fix since I dont know how to code plugins properly. Imo, this method should be in a seperate function.
Here is how I call the function now:
if(NativeReviewRequest.GetOsVersion() >= 10.3f) {
NativeReviewRequest.RequestReview();
} else {
Application.OpenURL(“itms-apps://itunes.apple.com/app/id”+game_id);
}
maybe requestReview should just return false if its below 10.3?
Hey Sam, it is not a good idea to force show the review URL. In the case of iOS 10.3, you must handle the whole rate process separately in Unity. But I think the adoption rate of iOS new versions is so good, that you won’t actually need to do it.
Very cool, thanks for doing this. Does this know to ‘not appear’ if we’re asking it in multiple spots and the user has already left a review / interacted with the popup? Thanks again!
Hi, Thanks a lot for this plugin!!
I have a strange issue with it, maybe you can help me with. When i’m on development envirounment everything works fine and i can see the rating box, but when i’m on production (using testflight), it doesn’t work. Any idea why?
Hey,
In production, Apple decides when to actually show the dialog, even if you call the function, it is not guarantee that it will show to the user. For example, if the user has already added a review, even if you call the function one hundred times, Apple won’t show it. But other than that, I am not sure what are the other conditions 🙂 But I am sure it is working, I already have it on my latest game – Bouncy Hoops and we got more than 2000 reviews in a week.
Sounds reasonable. Thanks 🙂
after adding store kit framework in Xcode…it worked….tx
Under what license are you releasing this code? It it ok to use this in a commercial project?
You can use it for commercial projects, no problem! It’s like 3 lines of code 🙂
great plugin! is there a callback that gets called once the user has submitted a review?
I don’t think Apple offers that, though. Probably the main reason is that it is not allowed to incentivize users to make a review for a reward.