We all know these popups asking us to Please rate my app. Getting lots of ratings is important for high rankings in both Apple and Android app stores. But popping the question at the wrong time could get you low rating and bad reviews.
I wrote a little CommonJS module to use in my apps. It has various options to ask the user for a review on the right time.
You can get the source at: https://gist.github.com/FokkeZB/5466012
Oneliner
At minimum it takes just a single line of code to use. By default it brings up the question after 3 days when the code has been executed at least 3 times. It then gets your app’s Bundle ID from Ti.App.id
and looks up the required Apple ID online.
1 |
require('rate').plus(); |
Timing
I personally like to collect points at places where the user has positive interaction with the app, but wait before popping the question until he has finished doing it. You can achieve this in the following way:
1 2 3 4 5 6 7 8 9 |
var rate = require('rate'); // Put this on a happy place to add 1 (or more) points, // but NOT ask the question if the required points have been met: rate.plus(1, false); // Put this on a place fit for asking the question if points have been met, // without adding any points itself: rate.test(); |
Options
You can further tweak the behavior using these options:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
var rate = require('rate'); // Set texts rate.title = 'Pleeeeease rate!'; rate.message = 'I would be so thankful!'; rate.yes = 'Fine'; rate.later = 'Maybe later'; rate.never = 'Forget it'; // Set triggers rate.pointsBetween = 100; // Points before asking and between each retry rate.daysBetween = 10; // Days before asking and between each retry rate.eachVersion = true; // Ask again every version (unless user chose 'never') // Set Apple ID (found in iTunes Connect) manually rate.appleId = 123456; // Reset all triggers (including if user chose 'never', so be aware!) rate.reset(); // Add 1 point and test if we should ask rate.plus(); // Add more points and do not test rate.plus(5, false); // Just test rate.test(); // Just ask rate.show(); |