AppRater Library for Android

Related tags

UI/UX android java rate
Overview

AppRater

Due to lack of available time to thoroughly regression test improvements, other than translations no pull requests will be merged into this project.

AppRater is a library for Android designed to facilitate easy prompting of users to rate your app within the Google Play store or Amazon App Store. It won't prompt until at least 3 days or 7 uses of the app has passed and if the user chooses to rate later the count will start again.

AppRater inherits your themeing so can be used with light or dark variants as seen here;

Example Image Dark Example Image Light

To use simply add the library to your app and make one call within your onCreate method as follows;

AppRater.app_launched(this);

There are several options you can also use to change the default behavior.

You can use the overriden method to specify your own day and launch count parameters. setVersionCodeCheckEnabled or setVersionNameCheckEnabled enable version checking, which will re-enable the prompt count if a new version is installed. isNoButtonVisible will disable the No Thanks button, forcing the user to either rate or prompt later. setDarkTheme and setLightTheme enable manual control over the theme the dialog uses, overriding your application default.

By default this will link to the Google Play store. You can optionally set an alternate market by using;

AppRater.setMarket(new GoogleMarket());

AppRater.setMarket(new AmazonMarket());

You can implement your own market, implementing the Market interface and parse your URI.

If you want to have a "Rate Now" menu option to go straight to your play store listing call AppRater.rateNow(this); within your menu code.

Try out the demo within this repository.

Gradle

AppRater is now pushed to Maven Central as an AAR, so you just need to add the following dependency to your build.gradle.

dependencies {
    compile 'com.github.codechimp-org.apprater:library:1.0.+'
}

Translations

If you would like to help localise this library please fork the project, create and verify your language files, then create a pull request to the translations branch.

Contributing Code

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Developed By

Andrew Jackson [email protected]

Google+ profile: https://plus.google.com/+AndrewJacksonUK

Adapted from a snippet originally posted here

License

Copyright 2013-2017 Andrew Jackson

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • Extra features

    Extra features

    We would like to use your code in some of our projects but we need some additional and useful features. Followings are the changes that we made in your code -Version check It did not check the version of application so whenever "No Thanks" option is chosen it did not ask again user to rate the app even if the application is updated -Time period and launch period can be changed Now developers can change the time and launch period of prompting dialog -Light or Black theme option for dialog Dialog theme can be changed by developer -Optional "No Thanks" button Developer can change the visibility of "No Thanks" button.By doing this, code guarantees that users eventually rate their applications

    We already test the application with modifications. Regards.

    opened by TTOASLAN 8
  • Show the prompt on the basis of an event count

    Show the prompt on the basis of an event count

    This PR adds in the support by defining a Event limit. Using this event limit, client application can prompt the user with a rate prompt. This would be useful in cases wherein the the logic to show the prompt is based on usage of application features rather than the launch.

    I have currently set the event limit to 5.

    opened by vishal83 3
  • some improvments

    some improvments

    changes:

    • changed the interval from numbers to a day constant
    • added a constant so that it enables either the use of both the days and lunch count or whatever comes first.
    opened by rmarji 2
  • Bug  #40 fixed: No positive (Rate Now) button on android 5.0 Russian …

    Bug #40 fixed: No positive (Rate Now) button on android 5.0 Russian …

    Automatically checking AlertDialog button positions. When positive button doesn't fit - change layout to vertical.

    Before fix: screenshot_1489422093

    After fix: screenshot_1489422618

    When buttons are normally fitted - no action screenshot_1489472353

    opened by sbystrov 1
  • Prefixed the resources by apprater_ to avoid conflicts with other libraries

    Prefixed the resources by apprater_ to avoid conflicts with other libraries

    Hi,

    I had a conflict between the resources of AppRater and another library (namely Google VR SDK) because they both use the string "dialog_title". To avoid such conflicts, I renamed all the resources of AppRater to prefix them by apprater_.

    I hope it's fine for you!

    I also bumped version number to 1.0.31

    Thanks! Benjamin

    opened by bezineb5 1
  • Can now specify custom package name for testing

    Can now specify custom package name for testing

    When compiling a debug build of your app, it can change the package name which means testers can't properly test this feature. I made a slight modification to allow you to do this.

    // To change package name, just call...
    AppRater.setPackageName("com.custom.package");
    

    If no package is set, your default behaviour is used.

    opened by john-crossley 1
  • Minor code refactoring. Russian translation fixes.

    Minor code refactoring. Russian translation fixes.

    Regarding SharedPreferences.Editor.commit() vs SharedPreferences.Editor.apply(): http://developer.android.com/reference/android/content/SharedPreferences.Editor.html#apply()

    opened by makovkastar 1
  • Can override package for testing

    Can override package for testing

    @andrew-codechimp When compiling a debug version of your app this allows you to change the package name meaning QA can test this feature correctly.

    // To change package name, just call...
    AppRater.setPackageName("com.custom.package");
    

    If no package is set, your default behaviour is used.

    opened by john-crossley 0
  • Bug Fix

    Bug Fix

    when the user used the app_launched method with 3 parameters , version check and some additional features were not working properly because these features were handled in the app_launch method with only context parameter. This bug is fixed. Moreover, with the new app_launched method with 4 parameters now developers are able to customize the regular periods and periods for remind me later option without using the setter functions.It is more user friendly now.

    opened by TTOASLAN 0
  • waffle.io Badge

    waffle.io Badge

    Merge this to receive a badge indicating the number of issues in the ready column on your waffle.io board at https://waffle.io/codechimp-org/apprater

    This was requested by a real person (user andrew-codechimp) on waffle.io, we're not trying to spam you.

    opened by waffleio 0
  • improve Turkish translation

    improve Turkish translation

    Hello! We are using AppRater and our Turkish team has brought up that the current text sounds very awkward. They proposed this improved translation. Thanks for your consideration!

    opened by mmartha 0
  • New feature significative event counter

    New feature significative event counter

    Prompting can be showed after some user significant interaction.

    New counter SIGNIFICANT_EVENT and parameter in constructor.

    Function userDidSignificantEvent increase the events counter and show rate promp.

    opened by Narfss 0
Releases(V1.0.35)
Owner
CodeChimp.org
CodeChimp.org
Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. The library is based on the code of Mario Klingemann.

Android StackBlur Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. Th

Enrique López Mañas 3.6k Dec 29, 2022
Android library providing bread crumbs to the support library fragments.

Hansel And Gretel Android library providing bread crumbs for compatibility fragments. Usage For a working implementation of this project see the sampl

Jake Wharton 163 Nov 25, 2022
Android library used to create an awesome Android UI based on a draggable element similar to the last YouTube graphic component.

Draggable Panel DEPRECATED. This project is not maintained anymore. Draggable Panel is an Android library created to build a draggable user interface

Pedro Vicente Gómez Sánchez 3k Dec 6, 2022
TourGuide is an Android library that aims to provide an easy way to add pointers with animations over a desired Android View

TourGuide TourGuide is an Android library. It lets you add pointer, overlay and tooltip easily, guiding users on how to use your app. Refer to the exa

Tan Jun Rong 2.6k Jan 5, 2023
Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your development.

Bubbles for Android Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your

Txus Ballesteros 1.5k Jan 2, 2023
Wizard Pager is a library that provides an example implementation of a Wizard UI on Android, it's based of Roman Nurik's wizard pager (https://github.com/romannurik/android-wizardpager)

Wizard Pager Wizard Pager is a library that provides an example implementation of a Wizard UI on Android, it's based of Roman Nurik's wizard pager (ht

Julián Suárez 520 Nov 11, 2022
Make your native android Toasts Fancy. A library that takes the standard Android toast to the next level with a variety of styling options. Style your toast from code.

FancyToast-Android Prerequisites Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ... ma

Shashank Singhal 1.2k Dec 26, 2022
Make your native android Dialog Fancy. A library that takes the standard Android Dialog to the next level with a variety of styling options. Style your dialog from code.

FancyAlertDialog-Android Prerequisites Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ..

Shashank Singhal 350 Dec 9, 2022
A Tinder-like Android library to create the swipe cards effect. You can swipe left or right to like or dislike the content.

Swipecards Travis master: A Tinder-like cards effect as of August 2014. You can swipe left or right to like or dislike the content. The library create

Dionysis Lorentzos 2.3k Dec 9, 2022
A Material design Android pincode library. Supports Fingerprint.

LolliPin A Lollipop material design styled android pincode library (API 14+) To include in your project, add this to your build.gradle file: //Loll

Omada Health 1.6k Nov 25, 2022
Android Library to implement simple touch/tap/swipe gestures

SimpleFingerGestures An android library to implement simple 1 or 2 finger gestures easily Example Library The library is inside the libSFG folder Samp

Arnav Gupta 315 Dec 21, 2022
Useful library to use custom fonts in your android app

EasyFonts A simple and useful android library to use custom fonts in android apps without adding fonts into asset/resource folder.Also by using this l

Vijay Vankhede 419 Sep 9, 2022
Android library which allows you to swipe down from an activity to close it.

Android Sliding Activity Library Easily create activities that can slide vertically on the screen and fit well into the Material Design age. Features

Jake Klinker 1.3k Nov 25, 2022
This library provides a simple way to add a draggable sliding up panel (popularized by Google Music and Google Maps) to your Android application. Brought to you by Umano.

Note: we are not actively responding to issues right now. If you find a bug, please submit a PR. Android Sliding Up Panel This library provides a simp

Umano: News Read To You 9.4k Dec 31, 2022
An Android library supports badge notification like iOS in Samsung, LG, Sony and HTC launchers.

ShortcutBadger: The ShortcutBadger makes your Android App show the count of unread messages as a badge on your App shortcut! Supported launchers: Sony

Leo Lin 7.2k Dec 30, 2022
Android Library to build a UI Card

Card Library Travis master: Travis dev: Card Library provides an easy way to display a UI Card using the Official Google CardView in your Android app.

Gabriele Mariotti 4.7k Dec 29, 2022
A horizontal view scroller library for Android

View Flow for Android ViewFlow is an Android UI widget providing a horizontally scrollable ViewGroup with items populated from an Adapter. Scroll down

Patrik Åkerfeldt 1.8k Dec 29, 2022
[] Android library that provides a file explorer to let users select files on external storage.

aFileChooser - Android File Chooser aFileChooser is an Android Library Project that simplifies the process of presenting a file chooser on Android 2.1

Paul Burke 1.8k Jan 5, 2023
Android library for multiple snapping of RecyclerView

MultiSnapRecyclerView Gradle dependencies { implementation 'com.github.takusemba:multisnaprecyclerview:x.x.x' } Features This is an Android Libra

TakuSemba 2.5k Jan 4, 2023