Prompt user to Rate App on Google play from Application

package com.shir60bhushan.excelContacts.About_N_Help; import com.shir60bhushan.excelContacts.R; import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.Color; import android.graphics.Typeface; import android.net.Uri; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; public class AppRater { private final static String APP_TITLE = "Battery Saver Widget"; private final static String APP_PNAME = "com.batterysaverwidget"; static Typeface tf; private final static int DAYS_UNTIL_PROMPT = 3; private final static int LAUNCHES_UNTIL_PROMPT = 7;
public static void app_launched(Context mContext) { tf = Typeface.createFromAsset(mContext.getAssets(), "Merienda-Regular.ttf"); SharedPreferences prefs = mContext.getSharedPreferences("apprater", 0); if(prefs.getBoolean("dontshowagain", false)) { return; } SharedPreferences.Editor editor = prefs.edit(); // Increment launch counter long launch_count = prefs.getLong("launch_count", 0) + 1; editor.putLong("launch_count", launch_count); // Get date of first launch Long date_firstLaunch = prefs.getLong("date_firstlaunch", 0); if(date_firstLaunch == 0) { date_firstLaunch = System.currentTimeMillis(); editor.putLong("date_firstlaunch", date_firstLaunch); } // Wait at least n days before opening if(launch_count >= LAUNCHES_UNTIL_PROMPT) { if(System.currentTimeMillis() >= date_firstLaunch + (DAYS_UNTIL_PROMPT * 24 * 60 * 60 * 1000)) { showRateDialog(mContext, editor); } editor.commit(); } public static void showRateDialog(final Context mContext, final SharedPreferences.Editor editor) { final Dialog dialog = new Dialog(mContext); TextView tvTitle = new TextView(mContext); dialog.setTitle(" Rate " + APP_TITLE + "  "); LinearLayout ll = new LinearLayout(mContext); ll.setOrientation(LinearLayout.VERTICAL); TextView tv = new TextView(mContext); tv.setText("If you enjoy using " + APP_TITLE + ", please take a moment to rate it. Thanks for your support!"); tv.setWidth(240); tv.setTextColor(Color.WHITE); tv.setPadding(4, 0, 4, 10); tv.setTypeface(tf); ll.addView(tv); Button b1 = new Button(mContext); //b1.setBackgroundResource(R.drawable.selector_buttons); b1.setText("Rate " + APP_TITLE); b1.setTypeface(tf, Typeface.BOLD); b1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { mContext.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + APP_PNAME))); dialog.dismiss(); } }); ll.addView(b1); Button b2 = new Button(mContext); b2.setText("Remind me later"); // b2.setBackgroundResource(R.drawable.selector_buttons); b2.setTypeface(tf, Typeface.BOLD); b2.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { dialog.dismiss(); } }); ll.addView(b2); Button b3 = new Button(mContext); b3.setText("No, thanks"); //b3.setBackgroundResource(R.drawable.selector_buttons); b3.setTypeface(tf, Typeface.BOLD); b3.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if(editor != null) { editor.putBoolean("dontshowagain", true); editor.commit(); } dialog.dismiss(); } }); ll.addView(b3); dialog.setContentView(ll); dialog.show(); } }


4 comments :

Anonymous said...

Hello, this weekend is pleasant designed for me, since this occasion i am
reading this impressive informative article here at my house.


Also visit my web-site click through the up coming article

Anonymous said...

Hey fantastic website! Does running a blog similar to this take a large amount of
work? I have absolutely no understanding of programming but I had been hoping
to start my own blog in the near future. Anyhow, if you have any ideas or techniques
for new blog owners please share. I understand this is off subject nevertheless I just wanted to ask.
Cheers!

Stop by my web blog; mouse click on tunetraxlive.tv

Anonymous said...

This kind of language schools are aimed to keep your children learning about new languages as well as cultures.
This is merely a reflection of the fact that people are on the lookout
for a break from the stresses of life. It is also time
to start thinking about how you want your My - Space page
to look for the holiday.

Stop by my web page ... http://dateinitalia.com/index.php?do=/blog/386/laughter-is-very-best-medicine-humorous-movies-can-support-restore-laughter/

Anonymous said...

Hello! Someone in my Myspace group shared this site with us so I
came to look it over. I'm definitely loving the information. I'm bookmarking and will be tweeting this to my followers!
Exceptional blog and wonderful style and design.


Also visit my blog: fritzbox cardsharing server 2009