Flutter Plugin for Requesting and Writing Reviews in Google Play and the App Store

Overview

Flutter Community: app_review

Buy Me A Coffee Donate github pages GitHub stars app_review

app_review

alt text

Online Demo: https://fluttercommunity.github.io/app_review/

Description

Flutter Plugin for Requesting and Writing Reviews in Google Play and the App Store. Apps have to be published for the app to be found correctly.

How To Use

It's important to note that the App ID must match the App ID in Google Play and iTunes Connect. This can be changed in the Info.plist on iOS and app/build.gradle on Android. You will use this App ID for other services like Firebase, Admob and publishing the app.

Android

Opens In App Review but only if Play Services are installed on the device and the App is downloaded through the Play Store. Check out the official documentation.

iOS

iOS manages the pop-up requesting review within an app. You can call the code through AppReview.requestReview and if the user has "rate in apps" turned on, iOS will send "the request for the review" pop up. This is the required way for requesting reviews after iOS 10.3.

In debug mode it will always display. In apps through TestFlight, the AppReview.requestReview does nothing.

import 'dart:io';
import 'package:app_review/app_review.dart';
import 'package:flutter/material.dart';

  @override
  void initState() {
    super.initState();
    if (Platform.isIOS) {
      AppReview.requestReview.then((onValue) {
        print(onValue);
      });
    }
  }

What is onValue value?

Just a sanity check to make sure there were no errors.

Android

You could store a timestamp to know when to call again.

iOS

It doesn't really matter.

Comments
  • app_review does not specify a Swift version

    app_review does not specify a Swift version

    After add it to pubspec and run the app the pod install send and error.

    Screen Shot 2019-10-09 at 8 57 53 AM

    I'm already having other pods installs like firebase and facebook but this one it get this error.

    Let me know if you need more details about this.

    bug 
    opened by Arkangel12 12
  • Please specify a platform for this target in your Podfile

    Please specify a platform for this target in your Podfile

    Getting this error on iOS with app_review

    Error output from CocoaPods:
    ↳
    [!] Automatically assigning platform `iOS` with version `8.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
    

    I added app_review to pubspec and now I'm getting this error.

    opened by lukepighetti 10
  • 2.0.1: 'Android activity not available' on Android

    2.0.1: 'Android activity not available' on Android

    Using version 2.0.1, running this code on an Android device with Play Services:

    await AppReview.isRequestReviewAvailable
    

    I get:

    PlatformException(error, Android activity not available, null)
    

    Note: my app uses pre-1.12 android setup (before Android v2 embedding).

    Also, I see that an alternative implementation (https://github.com/britannio/in_app_review) uses the ApplicationContext instead of the Activity one. Wouldn't it be better to do the same instead of keeping a WeakReference to the Activity?

    opened by amitkot 5
  • Is it safe to call this on every startup?

    Is it safe to call this on every startup?

    Thank you for the package!

    Is it safe to call on every startup? Or do we need to keep track if we requested for review before?

    Ex. If you do the request on every startup / init, will the user see it every single time? Or do you need to keep track in shared preferences / somewhere to ensure that you only send the request once per version?

    opened by Theunodb 5
  • Does the library support

    Does the library support "Google Play In-App Review API"?

    Recently Google released "Google Play In-App Review API". Basically it likes the same Store kit request review framework on iOS. I am not sure this feature has been integrated in our library.

    opened by dlpigpen 4
  • Use method instead of getters

    Use method instead of getters

    I would preferably used methods for instead of getters that returns a new Future.

    I find it more clear that an action is triggered by calling a method in a fire and forget case. At first I thought that there were a cache of the Future.

    AppReview.storeListing; // I would find `AppReview.storeListing()` more transparent on the fact that a processing is potentially triggered.
    
    enhancement 
    opened by aloisdeniel 4
  • SDK location not found.

    SDK location not found.

    when i added this plugin it is giving error below:

    FAILURE: Build failed with an exception.

    • What went wrong: A problem occurred configuring root project 'app_review'.

    SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

    • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    BUILD FAILED in 6s

    Exception: The plugin app_review could not be built due to the issue above.

    opened by HetalGohil 3
  • Bug in v2.0.0

    Bug in v2.0.0

    Some issues in fresh released v2.0.0:

    • Duplicated code in utility files and main class
    • Missing country code in getIosAppId() and iosReviewUrlBase()
    • Android utility methods have not been implemented
    • AppReview.getBundleName() always returns 'net.webike.app01' (I'm sorry, it is my mistake)

    Issues may be solved with #40

    opened by shinsenter 3
  • app_review canLaunch(

    app_review canLaunch("market://") won't work correctly

    I have test on app_review 1.0.0 I found code in app_review.dart like below won't work fine which will always lead android to open google play in browser.

    if (await canLaunch("market://")) {// this always return false print('launching store page'); await launch("market://details?id=" + _appID); details = 'Launched App Store Directly: $_appID'; } else {// so we always run in else, await launch("https://play.google.com/store/apps/details?id=" + _appID); details = 'Launched App Store: $_appID'; }

    I changed the url from market:// to market://details which is used in brace, then it works fine.

    And I find this keep the same in latest version of 1.1.0+1.

    enhancement 
    opened by techwnn 3
  • Folder docs is indexed by Intellij for ages

    Folder docs is indexed by Intellij for ages

    I've updated to latest version from pub, and Intellij IDEA got stuck on indexing docs folder. Most probably it's due to main.dart.js recognized as valuable source code. I had to delete folder and restart to get it unstuck.

    bug question 
    opened by rostopira 3
  • Lookup should include country code in the base lookup URL

    Lookup should include country code in the base lookup URL

    Thank you for great package!

    I'm trying to lookup my appId from getiOSAppID method, and it calls to: http://itunes.apple.com/lookup?bundleId=my.app.id.here

    But the response always return { "resultCount":0, "results": [] }

    My app is ONLY available in Japan store, so the lookup should include country code in the base lookup URL:

    http://itunes.apple.com/jp/lookup?bundleId=my.app.id.here

    It would be great if I could add country code in to lookup URL, or change the base lookup URL.

    enhancement 
    opened by shinsenter 3
  • Upgrade libraries to use in application with common packages

    Upgrade libraries to use in application with common packages

    When I need to use this package in my app, it was impossible to upgrade common packages. for example I want to use package_info_plus: ^3.0.2 in my app but it was impossible because app_review used old versions of that. Here is updated packages in yaml file:

      package_info_plus: ^3.0.2
      url_launcher: ^6.1.7
    
    opened by AlirezaDaryani 1
  • Not compatible with package_info_plus  3.0.0

    Not compatible with package_info_plus 3.0.0

    Because every version of project from git depends on package_info_plus ^3.0.0 and app_review 2.1.2+1 depends on package_info_plus ^1.0.0, project from git is incompatible with app_review 2.1.2+1.

    opened by zakblacki 3
  • Upgrade Android project to v2

    Upgrade Android project to v2

    This package's example outputs the following message:

    This app is using a deprecated version of the Android embedding.
    To avoid unexpected runtime failures, or future build failures, try to migrate this app to the V2 embedding.
    Take a look at the docs for migrating an app: https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects
    
    opened by mihiron 0
  • Change `launch` and `canLaunch`

    Change `launch` and `canLaunch`

    If you update url_launcher over 6.1.0, please change this.

    • launchlaunchUrl
    • canLaunchcanLaunchUrl

    launch & canLaunch is deprecated on url_launcher over 6.1.0.

    Thanks!

    opened by mihiron 0
Releases(1.1.0)
Owner
Flutter Community
A central place for all community made Flutter packages. To get started, see the README of the 'community' repository.
Flutter Community
Google play scraper for flutter and dart created form

Google Play Store Scraper Dart and Flutter Google Play Store Scraper for flutter and dart helps you to get apks information from google play store. Im

Sifat 3 Sep 14, 2022
[Flutter package] An easy and quick way to check if the local app is updated with the same version in their respective stores (Play Store / Apple Store ).

Retrieve version and url for local app update against store app Android and iOS Features Using as reference packages like in_app_update , version_chec

Kauê Murakami 11 Nov 9, 2022
A package for giving reviews for the things

give-star-reviews A package for giving reviews for the things Getting Started dependencies: givestarreviews: ^1.0.2 $ flutter pub get import 'pack

Burak 2 Dec 16, 2021
Shoes-Store-App-UI-Flutter - Beautiful Shoes Store App UI with support for dark and light mode

Flutter Shoes Store App UI with support for dark and light mode. Flutter 2.8.1 N

Jakub Sobański 4 Nov 23, 2022
A note-taking app powered by Google services such as Google Sign In, Google Drive, and Firebase ML Vision.

Smart Notes A note-taking app powered by Google services such as Google Sign In, Google Drive, and Firebase ML Vision. This is an official entry to Fl

Cross Solutions 88 Oct 26, 2022
Cross-platform flutter plugin for reading and writing NFC tags. Not maintained anymore - not looking for new maintainer, fork instead.

nfc_in_flutter NFC in Flutter is a plugin for reading and writing NFC tags in Flutter. It works on both Android and iOS with a simple stream interface

Andi Semler 113 Sep 28, 2022
Check the availability of Google Play services on the current device

Flutter Google Api Availability Plugin A Flutter plugin to check the availability of Google Play services on the current device. Features Check the av

Baseflow 27 Dec 28, 2022
Sibyl App written with Dart/Flutter. (My first experience in writing a real android app in flutter).

sibyl_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

ALi.w 3 Feb 17, 2022
Google mobile ads applovin - AppLovin mediation plugin for Google Mobile Ads (Flutter).

AppLovin mediation plugin for Google Mobile Ads Flutter Google Mobile Ads Flutter mediation plugin for AppLovin. Use this package as a library depende

Taeho Kim 1 Jul 5, 2022
Flashcard and Kanji writing Flutter App. Stopped working on this Project. Currently just a graveyard.

KanjiMaru Not in development anymore for reasons I shall not state here. Still loved the design I created, so it will stay up. Flashcard and Japanese

Stefan Dourado 30 Jan 1, 2023
Flutter-writting-prompt - Flutter example app used to show Writing Prompts to the user

Writing Prompt A writing prompt application designed to showcase an approach to a "Clean"er architecture in Flutter with Bloc and RxDart, including Un

Gonçalo Palma 42 Dec 11, 2022
null 1 Jan 8, 2022
Create dart data classes easily, fast and without writing boilerplate or running code generation.

Dart Data Class Generator Create dart data classes easily, fast and without writing boilerplate or running code generation. Features The generator can

null 186 Feb 28, 2022
Glass-Design - Glass Design on one page writing in Flutter

glassdesign writing in Flutter framework / GlassDesign fait en Flutter framework

Tommy 6 Jun 15, 2022
Backbone - A Dart framework for writing REST APIs from an Open API spec

The Backbone Dart Backend Framework A Dart framework for writing REST APIs from

Marcus Twichel 39 Oct 6, 2022
A zero-dependency web framework for writing web apps in plain Dart.

Rad Rad is a frontend framework for creating fast and interactive web apps using Dart. It's inspired from Flutter and shares same programming paradigm

null 70 Dec 13, 2022
A collection of bricks to be more productive when writing code.

A collection of bricks that enable developers to be more productive when writing code. Bricks ?? Brick Description Version clean_architecture_global_s

Jônatas Brito 10 Nov 12, 2022
A thought experiment on writing a strange API for Dart.

Operator Frog ?? What is Operator Frog Operator Frog is a < 24h thought experiment that I did. I wanted to know if we could write a strange looking AP

Jochum van der Ploeg 19 Dec 8, 2022