RateDialog is an android library to display a rate dialog in an easy way.
[lwptoc]
Below is the demo Screenshot
Here are its features:
- Roboto font
- Multilanguage
- Easy configuration
- Fully material designed
RateDialog currently supports the following languages:
- English (default)
- Spanish
- German
- French
- Italian
- Dutch
- Portuguese
- Brazilian
- Russian
- Polish
- Turkish
Step 1: Install it
Add this to your root _MARKDOWN_HASHc197962302397baf3a4cc36463dce5eaMARKDOWNHASH
file:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Now add the dependency to your app build.gradle
file:
implementation 'com.github.marcoscgdev:RateDialog:1.0.7'
Step 2: Creating the Rating dialog
Show the dialog each 3 days and each 7 launches (default config):
RateDialog.init(this);
Shows the dialog with custom config:
RateDialog.init(this, 2, 0); // daysUntilPrompt, launchesUntilPrompt
You can also get the default config values:
RateDialog.DEFAULT_DAYS_UNTIL_PROMPT
RateDialog.DEFAULT_LAUNCHES_UNTIL_PROMPT
Show the dialog instantly:
RateDialog.showDialog(this);
Step 3: Creating custom dialog instance
RateDialog rateDialog = new RateDialog(this, "custom_rate_dialog_key");
rateDialog.init();
You can also use custom config
RateDialog rateDialog = new RateDialog(this, "custom_rate_dialog_key", daysUntilPrompt, launchesUntilPrompt);
Show the custom dialog instantly:
RateDialog rateDialog = new RateDialog(this, "custom_rate_dialog_key");
rateDialog.showDialog();
NOTE: Use a different dialog key for each dialog instance.
Custom dialog strings (just override it):
<string name="rate_dialog_title">Rate %s.</string>
<string name="rate_dialog_message">If you enjoy using %s, please help us by rating it. It only takes a few seconds!</string>
<string name="rate_dialog_action_rate">Rate</string>
<string name="rate_dialog_action_never">No, thanks</string>
<string name="rate_dialog_action_later">Later</string>
<string name="rate_dialog_thank_you">Thank you!</strin
RateDialog Full Example
Here is a full example of how to use the RateDialog
1. Layouts
We have one layout:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.marcoscg.ratedialogsample.MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Open rate dialog"
android:onClick="openRateDialog"/>
</RelativeLayout>
2. Code
MainActivity.java
package com.marcoscg.ratedialogsample;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import com.marcoscg.ratedialog.RateDialog;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RateDialog.init(this); // Shows the dialog each 3 days and each 7 launches (default config)
// RateDialog.init(this, 2, RateDialog.DEFAULT_LAUNCHES_UNTIL_PROMPT); // Shows the dialog with custom config.
// Custom dialog instance
// RateDialog rateDialog = new RateDialog(this, "custom_rate_dialog", 0 , 3);
// rateDialog.init();
}
public void openRateDialog (View v) {
RateDialog rateDialog = new RateDialog(this, "custom_rate_dialog_key");
rateDialog.showDialog();
}
}
Reference
Download code here.
Read more here.
Follow code author here.