iOS - rate app

Has anyone rolled their own implementation for rating an app on iOS using Storekit within a Monogame game? I’ve seen a lot of blogs etc. on doing this from objective C within a “standard” iOS app, and found some components that work with Xamarin, but nothing does quite what I’m looking for…

Failing that, can anyone confirm that by opening a web browser pointing to http://itunes.apple.com/app/id[My App Id], a webpage will open displaying either rating or details for my game? Obviously I can’t test this as my game has yet to be published…

Thanks,

You could just test it with any id until your app goes live, obviously change it to your own one before you submit it :wink: Here’s the code I’m currently using in my game, seems to be working fine:

private string APP_STORE_RATE_URL = "itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=xxxxxxxxx";

UIApplication.SharedApplication.OpenUrl(new NSUrl(APP_STORE_RATE_URL));
1 Like

As of iOS 7 there is no way to take the user to the rating screen. The one @Ben_P1 mentioned was the correct way to ask for rating after iOS 7. The link mentioned by @RocketRonz is the pre-iOS 7 way that was directly taking the users to the rating screen, but it should be displaying an empty app store screen after iOS 7.

Thanks @Nezz and @RocketRonz

So I started looking at this (“Changes to StoreKit” on the Xamarin site) the other night, and I’m wondering if it has the answers… but I’m stuck with the example code.

All the work I’ve done to date with Xamarin iOS uses Monogame, so I have no idea how the underlying structure works within and app - and when I see lines like “this.DismissModalViewControllerAnimated (true);”, I’m left wondering what exactly “this” refers to - certainly not the DrawableGameComponent that is my currently active game scene!

Would anyone who knows a bit more about Xamarin iOS apps be willing to take a look over this and give some insight on whether it’s the right approach and how to use the code within Monogame? I posted the same on the Xamarin forums, but have had no answers there.

Thanks!

@Ben_P1. “this” would be referring to a UIViewController instance. You can grab the RootViewController as follows, if anyone knows of a better way then feel free to correct me:

UIViewController rootViewController = UIApplication.SharedApplication.Windows[0].RootViewController;

@Nezz. The rating URL I posted seems to be working fine on both iOS 6.1.3 and 7.1.1, the rating page is displayed correctly.

Cheers,
Ronny

You are right. Things are much more complicated as they should be. The review work link works with iOS 7.1, but doesn’t work with iOS 7.0 and the developer preview of iOS 8.

Excellent, this is so much fun :wink: I found a post on another forum that mentions the following url for iOS 7 and above. Might have to put a check for the OS version and choose the appropriate one:

UIApplication.SharedApplication.OpenUrl(new NSUrl("itms-apps://itunes.apple.com/app/idAPP_ID"));

Thank you both, especially @RocketRonz for explaining the RootViewController - I now have a working rating mechanism, based on StoreKit, and my game code complete for testing and submission to iTunes… just waiting on some feedback from Xamarin about my app store build error, then it’s showtime!

Thanks again!

1 Like

Hey guys,

A quick question: is there a way to implement the rate-app mechanism without the real app page link? (my app is still in the pre-launch phase)

Or can I get the app page link without publishing my app? (assuming it can pass Apple’s certification)

Thanks,

If you create an app in iTunes Connect it will get an ID that you can use in the link.

Oh I see! Thanks Nezz!