Coder Social home page Coder Social logo

apprate's Introduction

AppRate

  • AppRate allows your users to rate your application and will optionally prompt for email feedback if they don't like your application.

  • AppRate shows a customizable rate dialog according to your chosen settings.

  • If enabled, then the user will first be asked if they like the application prior to asking them to rate it. If they respond that they don't like the application they will be prompted to leave email feedback. Both of these dialogs can be customized.

Screenshots

DoYouLikeApp Dark DoYouLikeApp Light

Screenshot 1 Screenshot 2

Send Feedback Dark Send Feedback Light

How to install and use

  1. Put the AppRate jar in your libs folder or add AppRate as a library project.
  1. Use AppRate as follows in your MAIN activity:
new AppRate(this).init();

Features

  • You can decide not to prompt the user if the application has crashed once.
new AppRate(this)
	.setShowIfAppHasCrashed(false)
	.init();
  • You can decide to reprompt the user if the application has been upgraded.
new AppRate(this)
	.setResetOnAppUpgrade(true)
	.init();
  • You can decide when to prompt the user.
new AppRate(this)
	.setMinDaysUntilPrompt(7)
	.setMinLaunchesUntilPrompt(20)
	.init();
  • You can decide to ask the user if they like the application first.
new AppRate(this)
	.showDoYouLikeTheAppFlow("support@your_support_email_address.com")
	.init();
  • You can customize the send feedback email subject.
new AppRate(this)
	.showDoYouLikeTheAppFlow("support@your_support_email_address.com")
	.setSendFeedbackSubject("Subject")
	.init();
  • You can customize the send feedback email body.
new AppRate(this)
	.showDoYouLikeTheAppFlow("support@your_support_email_address.com")
	.setSendFeedbackBody("Body")
	.init();
  • You can customize all the messages and buttons of the rate dialog.
AlertDialog.Builder builder = new AlertDialog.Builder(this)
	.setCustomTitle(myCustomTitleView)
	.setIcon(R.drawable.my_custom_icon)
	.setMessage("My custom message")
	.setPositiveButton("My custom positive button", null)
	.setNegativeButton("My custom negative button", null)
	.setNeutralButton("My custom neutral button", null);

new AppRate(this)
	.setCustomDialog(builder)
	.init();
  • You can set your own click listener on the rate dialog.
new AppRate(this)
	.setOnClickListener(new DialogInterface.OnClickListener() {
		@Override
		public void onClick(DialogInterface dialog, int which) {
			switch (which) {
				case DialogInterface.BUTTON_POSITIVE:
					Log.v(TAG, "Rate dialog positive button clicked");
					break;
				case DialogInterface.BUTTON_NEGATIVE:
					Log.v(TAG, "Rate dialog negative button clicked");
					break;
				case DialogInterface.BUTTON_NEUTRAL:
					Log.v(TAG, "Rate dialog neutral button clicked");
					break;
				default:
				break;
			}
		}
	})
	.init();
  • You can customize all the messages and buttons of the do you like the app dialog.
AlertDialog.Builder builder = new AlertDialog.Builder(this)
	.setTitle("Like Us?")
	.setMessage("Do you totally dig us?")
	.setPositiveButton("Heck Yes", null)
	.setNegativeButton("No!!!", null);

new AppRate(this)
	.setCustomDoYouLikeAppDialog(builder)
	.init();
  • You can set your own click listener on the do you like the app dialog.
new AppRate(this)
	.setDoYouLikeAppOnClickListener(new DialogInterface.OnClickListener() {
		@Override
		public void onClick(DialogInterface dialog, int which) {
			switch (which) {
				case DialogInterface.BUTTON_POSITIVE:
					Log.v(TAG, "Do you like the app dialog positive button clicked");
					break;
				case DialogInterface.BUTTON_NEGATIVE:
					Log.v(TAG, "Do you like the app dialog negative button clicked");
					break;
				default:
				break;
			}
		}
	})
	.init();
  • You can customize all the messages and buttons of the send feedback dialog.
AlertDialog.Builder builder = new AlertDialog.Builder(this)
	.setTitle("Help us out")
	.setMessage("Want to tell us what you don't like?")
	.setPositiveButton("Okay", null)
	.setNegativeButton("No", null);

new AppRate(this)
	.setCustomSendFeedbackDialog(builder)
	.init();
  • You can set your own click listener on the do you like the app dialog.
new AppRate(this)
	.setSendFeedbackOnClickListener(new DialogInterface.OnClickListener() {
		@Override
		public void onClick(DialogInterface dialog, int which) {
			switch (which) {
				case DialogInterface.BUTTON_POSITIVE:
					Log.v(TAG, "Send feedback dialog positive button clicked");
					break;
				case DialogInterface.BUTTON_NEGATIVE:
					Log.v(TAG, "Send feedback dialog negative button clicked");
					break;
				default:
				break;
			}
		}
	})
	.init();

License

This content is released under the MIT License.

apprate's People

Contributors

kikoso avatar lanrat avatar timotheejeannin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.