To help to promote your android app by prompting users to rate your app in a bottom Sheet.

Overview

RateBottomSheet

This an Android library to help to promote your Android App by prompting users to rate your app in the Google Play Store with a material design friendly BottomSheet.

Set up the dependency

  1. Add the mavenCentral() repository to your root build.gradle at the end of repositories:
allprojects {
	repositories {
		...
		mavenCentral()
	}
}
  1. Add the RateBottomSheet dependency in the build.gradle:
implementation group: 'com.apachat', name: 'ratebottomsheet-android', version: '1.3.1'

Badge:

Maven Central

Kotlin

RateBottomSheetManager(this)
    .setInstallDays(1) // 3 by default
    .setLaunchTimes(2) // 5 by default
    .setRemindInterval(1) // 2 by default
    .setShowAskBottomSheet(false) // True by default
    .setShowLaterButton(false) // True by default
    .setShowCloseButtonIcon(false) // True by default
    .monitor()

// Show bottom sheet if meets conditions
// With AppCompatActivity or Fragment
RateBottomSheet.showRateBottomSheetIfMeetsConditions(this)

Override string xml resources on your application to change the texts in bottom sheet:

Like this App? Do you like using this application? Yes I do Not really Rate this app Would you mind taking a moment to rate it? It won\'t take more than a minute. Thanks for your support! Rate it now Remind me later No, thanks ">
<resources>
    <string name="rate_popup_ask_title">Like this App?string>
    <string name="rate_popup_ask_message">Do you like using this application?string>
    <string name="rate_popup_ask_ok">Yes I dostring>
    <string name="rate_popup_ask_no">Not reallystring>

    <string name="rate_popup_title">Rate this appstring>
    <string name="rate_popup_message">Would you mind taking a moment to rate it? It won\'t take more than a minute. Thanks for your support!string>
    <string name="rate_popup_ok">Rate it nowstring>
    <string name="rate_popup_later">Remind me laterstring>
    <string name="rate_popup_no">No, thanksstring>
resources>

Listener

When calling RateBottomSheet.showRateBottomSheetIfMeetsConditions(...) you can choose to add another parameter of type AskRateBottomSheet.ActionListener; this allows you to implement 3 optional callbacks. Here is how:

RateBottomSheet.showRateBottomSheetIfMeetsConditions(
    this,
    listener = object : AskRateBottomSheet.ActionListener {
        override fun onDislikeClickListener() {
            // Will be called when a click on the "I don't like" button is triggered
        }

        override fun onRateClickListener() {
            // Will be called when a click on the "Rate" button is triggered
        }

        /*override fun onNoClickListener() {
            // Will be called when a click on the "No thanks" button is triggered,
            // in this example is commented,
            // but each callback is optional and it's up to you whether to implement it or not!
        }*/
    }
)

Debug

Enable debugForceOpen to show bottom sheet without conditions check like this:

RateBottomSheetManager(this)
    .setDebugForceOpenEnable(true) // False by default

// Don't forget to run showRate function
RateBottomSheet.showRateBottomSheetIfMeetsConditions(this)

You can also enable logs with debugLogEnable properties:

RateBottomSheetManager(this)
    .setDebugLogEnable(true) // False by default

Clear all current data from RateBottomSheet like this:

RateBottomSheetManager(this)
    .clear()

Java

You can call showRateBottomSheetIfMeetsConditions func like this:

RateBottomSheet.Companion.showRateBottomSheetIfMeetsConditions(this);

And because this library it's write in Kotlin you need to add kotlin-stdlib dependency on your java project:

implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.5.20'

Bugs and Feedback

For bugs, questions and discussions please use the Github Issues.

You might also like...
EduApp is a mini e-learning platform based on udemy's public api. It has 4 main navigation destinations (Home, Search, Wishlist, Cart). Users can search courses from different categories and get real-time results from the api using Chips for a smooth filtering experience. It has different theme for dark mode. Simple FOSS android app to help you plan and manage your savings goals easily and establish the habit of saving money.
Simple FOSS android app to help you plan and manage your savings goals easily and establish the habit of saving money.

GreenStash GreenStash is a simple FOSS android app to help you plan and manage your savings goals easily and establish the habit of saving money. 🤙 S

A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends!
A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends!

Meme Share A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends! Tech stack 100% wri

LinkHub is a simple and effective link management application that can help you to easily manage your app with no ads!
LinkHub is a simple and effective link management application that can help you to easily manage your app with no ads!

LinkHub LinkHub is a simple and effective link management application that can help you to easily manage your own links with no ads! Download Screensh

A funny project to help you test your BNF syntax

Readme The idea of this project is to implement a BNF expression compiler. We could use BNF to design some syntax like Arithmetic expression. factor

Android library to help enter, and more importantly, leave, android "Immersive Mode".

Immersive Lock Android has various ways to full screen an application including locking the screen to prevent accidentally leaving the app. This is pa

An library to help android developers working easly with activities and fragments (Kotlin version)
An library to help android developers working easly with activities and fragments (Kotlin version)

AFM An library to help android developer working easly with activities and fragments (Kotlin) Motivation Accelerate the process and abstract the logic

Web Container: A simple web container library for Android to help fellow developer to open WebView easily

WebContainer Description Web Container is a simple web container library for And

A sample Music Player project that help you learn about Compose in Android
A sample Music Player project that help you learn about Compose in Android

Music App Compose UI A sample Music Player project that help you learn about Compose in Android. Note that this app only contain UI and has no logic.

Releases(1.3.1)
Owner
Farham Hosseini
Calm, creative and forward-thinking
Farham Hosseini
DSU-Sideloader - A simple app made to help users easily install GSIs via DSU's Android feature

DSU Sideloader A simple app made to help users easily install GSIs via DSU's And

null 430 Jan 4, 2023
A simple android library which helps you to create a curved bottom navigation

CurvedBottomNavigation A simple android library which helps you to create a curved bottom navigation DEMO Setup Update your module level build.gradle

Qama A. Safadi 92 Dec 29, 2022
This prototype app provides a list of events to be held under an organization (school, college, club, etc.) and the users can manually set event reminders at their scheduled time so that they do not miss an event.

E-CELL NITS Sample App This prototype app provides a list of events to be held under E-Cell NIT Silchar (for example, Srijan 2.0) and the users can ma

Ritam Nath 1 Nov 7, 2021
The app features real-time chatting between different users on daily topics

DailyDiscuss The app features real-time chatting between different users on daily topics. The app comes with 2 types of user interface: Admin who crea

null 1 Dec 20, 2021
Github User App for searching Github Users and get several information from it.

GithubUserApp Github User App for searching Github Users and get several information from it. This code implement with Coroutines, Retrofit, Architect

Wahyu Hendiarto W. 0 Apr 16, 2022
NPS android library to get the feedback you need from users

netpromoterscore NPS android library helps you to get the feedback you need from the users Gradle Dependency: implementation 'com.github.quantumlibs:n

Nithin Naubad 1 May 12, 2022
Automatically generates UI demos which allow users to call any function with any parameters

Automatically generates UI demos which allow users to call any function (including composable ones) with any parameters. Useful for building demo screens in playground apps of various design systems.

Anton Popov 3 Jul 28, 2022
This is a skeleton project for Zircon users that can be used to get started with Zircon.

Zircon Kotlin Skeleton Project This is a skeleton project for Zircon users that can be used to get started with Zircon. Getting started This project w

Vladislav Kashchey 0 May 3, 2022
Application for managing users by using Go REST API

UsersManagerSliide Application for managing users by using Go REST API Architecture Clean Architecture with MVVM as presentation layer Aceptance crite

Marcin Brzeczek 0 May 5, 2022
A simple tool used to check the users you follow that do not follow you back.

instafbchecker - Instagram no life guide Current Release: v1.0.1 (30/08/2022) A command line tool used to check which users dont follow you back on In

Nathan 2 Aug 30, 2022