Skip to content

Instantly share code, notes, and snippets.

@iantearle
Forked from psyked/RateMe.js
Created November 1, 2012 21:28
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iantearle/3996707 to your computer and use it in GitHub Desktop.
Save iantearle/3996707 to your computer and use it in GitHub Desktop.
"Rate my app in Appcelerator Titanium Mobile" as a commonJS module.
function RateMe(ios_url, goog_url, usecount) {
if(!Ti.App.Properties.hasProperty('RemindToRate')) {
Ti.App.Properties.setString('RemindToRate', 0);
}
var remindCountAsInt = parseInt(Ti.App.Properties.getString('RemindToRate'), 10);
var newRemindCount = remindCountAsInt += 1;
if(remindCountAsInt === -1) {
// the user has either rated the app already, or has opted to never be
// reminded again.
return false;
} else if(remindCountAsInt < usecount) {
Ti.App.Properties.setString('RemindToRate', newRemindCount);
} else if(remindCountAsInt >= usecount) {
var alertDialog = Titanium.UI.createAlertDialog({
title : 'Please rate this app!',
message : 'Would you take a moment to rate this app?',
buttonNames : ['OK', 'Remind Me Later', 'Never'],
cancel : 2
});
alertDialog.addEventListener('click', function(evt) {
switch (evt.index) {
case 0:
// "Ok" - open the appropriate rating URL, and set flag to never
// ask again
Ti.App.Properties.setString('RemindToRate', -1);
if(Ti.Android) {
Ti.Platform.openURL(goog_url);
} else {
Ti.Platform.openURL(ios_url);
}
break;
case 1:
// "Remind Me Later"? Ok, we'll reset the current count to zero
Ti.App.Properties.setString('RemindToRate', 0);
break;
case 2:
// "Never" - Set the flag to -1, to never ask again
Ti.App.Properties.setString('RemindToRate', -1);
break;
}
});
alertDialog.show();
}
}
function iOSURLFromAppId(appId) {
return 'itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=' + appId + '&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software';
}
function googURLFromAppId(appId) {
return 'market://details?id=' + appId;
}
exports.checkNow = RateMe;
exports.iOSURLFromAppId = iOSURLFromAppId;
exports.googURLFromAppId = googURLFromAppId;
var RateMe = require('RateMe');
var iOSURL = RateMe.iOSURLFromAppId('384080636');
var googURL = RateMe.googURLFromAppId('couk.mmtdigital.orion.ianrankin');
RateMe.checkNow(iOSURL, googURL, 1);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment