For Google Marketplace, take a look at this neat code snippet. I'm sure you can modify it to launch the Amazon Appstore instead or in addition to.
EDIT: Looks like the site changed their URL structure so I've updated the link above so it works now. Here is an old copy at the Wayback Machine in case their site goes down again. I will paste the main contents of the post below as an additional backup but you still might want to visit the link to read the comments and get any updates.
This code prompts engaged users to rate your app in the Android market (inspired by iOS Appirater). It requires a certain number of launches of the app and days since the installation before the rating dialog appears.
Adjust APP_TITLE and APP_PNAME to your needs. You should also tweak DAYS_UNTIL_PROMPT and LAUNCHES_UNTIL_PROMPT.
To test it and to tweak the dialog appearance, you can call AppRater.showRateDialog(this, null) from your Activity. Normal use is to invoke AppRater.app_launched(this) each time your activity is invoked (eg. from within the onCreate method). If all conditions are met, the dialog appears.
public class AppRater {
private final static String APP_TITLE = "YOUR-APP-NAME";
private final static String APP_PNAME = "YOUR-PACKAGE-NAME";
private final static int DAYS_UNTIL_PROMPT = 3;
private final static int LAUNCHES_UNTIL_PROMPT = 7;
public static void app_launched(Context mContext) {
SharedPreferences prefs = mContext.getSharedPreferences("apprater", 0);
if (prefs.getBoolean("dontshowagain", false)) { return ; }