UAAppReviewManager is a simple and lightweight,
yet powerful App review prompting tool for iOS and Mac App Store apps.
It's Appirater all grown up and ready for primetime.
I just pushed out the
0.2.0 update to it that makes the basic setup possible with only 2 lines of code.
UAAppReviewManager was build with backwards compatibility in mind to help AppIRater users migrate over with little friction. AppIRater was around before iOS multitasking, and it relied some old methods and techniques to interface with it that can be replaced now.
AppIRater requires you to inform the plugin that the App launched, and that the App will enter the foreground.
Since iOS 4 (and even older OS X builds), there have been
UIApplication/NSApplication notifications of these
life-cycle events. The 0.2.0 update to UAAppReviewManager simply monitors these notifications so you don't have to notify
it at all.
The end result is that if you want the most basic setup possible with UAAppReviewManager, all it takes is one line of code to let it know the App ID, and another to let it know that it can show the prompt if the necessary, and reasonable defaulting criteria have been met.
So what makes UAAppReviewManager so much better than Appirater?
Here are just a few of the things that make UAAppReviewManager better than the other rating frameworks and repos:
iOS and OS X Support
Many developers publish apps for both iOS and OS X. Out of the box, UAAppReviewManager supports iOS and OS X apps that are sold through the Mac App Store. The API is the same for both with the exception of a few iOS specific methods.
Fully Configurable at Runtime
UAAppReviewManager is fully configurable, even at runtime. This means that the prompt you display can be dynamic, based on the end-user's score or status. The rules that govern how and when it should be shown can all be set the same way, allowing you to have the most control over the presentation and timing of your review prompt.
Default Localizations for 27 Languages
If you choose to use the default UAAppReviewManager strings for your app, you will get the added benefit of localization in 27 languages. Otherwise, customization is easy, and overriding the localization strings is a piece of cake, simply by including your own strings files and letting UAAppReviewManager know.
Prevent Rating Prompts on Different Devices
If your users have the same app, same version installed on two different devices, you really shouldn't pop up the same rating prompt on each one. UAAppReviewManager allows you to optionally keep your user's usage stats in the
NSUbiquitousKeyValueStore, or any other store you want to keep track of syncing yourself to prevent dual prompts.
Uses UIApplication/NSApplication Lifecycle Notifications
UAAppReviewManager listens for ApplicationDidLaunch and ApplicationWillEnterForeground notifications. This allows you to worry about your app, and not about tracking in your application delegate methods, so there are fewer lines of code for you to write.
Easy to Setup
It takes only 2 lines of code to get started. UAAppReviewManager is very powerful when digging under the hood, but also very simple to setup for standard configurations.
iTunes Affiliate Codes
If you are an iTunes Affiliate, you can easily setup UAAppReviewManager to use your code and campaign. Full disclosure: If you aren't an iTunes Affiliate, the default code used in the app is the author's. It is better to have somebody's code rather than nobody's, so please leave it at the default setting if you aren't going to set one yourself. Think of it as a tiny tip for creating and open-sourcing UAAppReviewManager.
Ready For Primetime
UAAppReviewManager is clean code, well documented and well organized. It is easy to understand the logic flow and the purpose of each method. It doesn't mix logic up randomly between Class methods and Instance methods. Its API is clean and predictable.
Free, Open-Source Software
Check out UAAppReviewManager on Github and let me know what you think!
Lastly, I run a small software company called Urban Apps. It pays the bills so I can take the time to write helpful utilities like UAAppReviewManager. If you found this posting helpful at all, I would really appreciate it if you would check out my Apps on the iTunes App Store.