-
-
Save jakeorr/6032340 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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(newRemindCount < usecount) { | |
Ti.App.Properties.setString('RemindToRate', newRemindCount); | |
} else if(newRemindCount >= 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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
a1g0rithm Once user has gone pass the app and in review UI of iTunes then you don't get information if he did or didn't rated.
These dialogue are to take user to rating screen but cannot control if they rated or not