britannio / in_app_review

A Flutter plugin for showing the In-App Review/System Rating pop up on Android, IOS, and MacOS. It makes it easy for users to rate your app.
311 stars 81 forks source link

Review Dialog not in foreground, Bottom Navigation Bar is flashing #21

Closed hm122 closed 3 years ago

hm122 commented 3 years ago

Hi,

I'm using in_app_review in my app, and it seems to be working theoretically on Android - the log output is correct, but there is no review dialog visible, similar as in #5

The review dialog was never shown, the app is not reviewed by the current account. I have other, native android apps, where it is working without any problems on this emulator device with this account.

The interesting thing I noticed was that the android bottom navigation bar flashed, exactly when the review dialog should have been opened. So it seemed that the dialog has been opened, but it is somehow in the background of the flutter activity or hidden. After a few times the flashing stopped and after waiting a bit it reappears. So I assume the quota was hit then. Has anybody experienced something similar or has suggestions?

Emulator: Pixel 3 API 29, the app is published on the Play Store

Log:

I/InAppReviewPlugin(17120): isAvailable: called
I/InAppReviewPlugin(17120): isAvailable: playStoreInstalled: true
I/InAppReviewPlugin(17120): isAvailable:lollipopOrLater: true
I/InAppReviewPlugin(17120): isAvailable: The Play Store is available and Android 5 or later is being used
I/InAppReviewPlugin(17120): cacheReviewInfo: called
I/PlayCore(17120): UID: [10149]  PID: [17120] ReviewService : requestInAppReview (XXX)
I/InAppReviewPlugin(17120): cacheReviewInfo: Requesting review flow
I/PlayCore(17120): UID: [10149]  PID: [17120] ReviewService : Initiate binding to the service.
V/FA      (17120): Connecting to remote service
I/PlayCore(17120): UID: [10149]  PID: [17120] ReviewService : ServiceConnectionImpl.onServiceConnected(ComponentInfo{com.android.vending/com.google.android.finsky.inappreviewservice.InAppReviewService})
I/PlayCore(17120): UID: [10149]  PID: [17120] ReviewService : linkToDeath
V/FA      (17120): Connection attempt already in progress
V/FA      (17120): Connection attempt already in progress
D/FA      (17120): Connected to remote service
V/FA      (17120): Processing queued up service tasks: 3
I/PlayCore(17120): UID: [10149]  PID: [17120] OnRequestInstallCallback : onGetLaunchReviewFlowInfo
I/InAppReviewPlugin(17120): onComplete: Successfully requested review flow
I/PlayCore(17120): UID: [10149]  PID: [17120] ReviewService : Unbind from service.
W/JavaBinder(17120): BinderProxy is being destroyed but the application did not call unlinkToDeath to unlink all of its death recipients beforehand.  Releasing leaked death recipient: com.google.android.play.core.internal.ai
I/InAppReviewPlugin(17120): requestReview: called
I/InAppReviewPlugin(17120): launchReviewFlow: called
W/ActivityThread(17120): handleWindowVisibility: no activity for token android.os.BinderProxy@146cff

Flashing:

out

On iOS it is working fine.

Thanks!

britannio commented 3 years ago

Hey @hm122, can you confirm that you're following the testing instructions? https://github.com/britannio/in_app_review#android

hm122 commented 3 years ago

Hi @britannio, thanks for the fast reply. I just updated my post above, but I can confirm, I'm following the instructions. The app is published (public) on the Play Store.

britannio commented 3 years ago

@hm122 I imagine that this plugin may not be compatible with the Android emulator. Either way, did you download your app from the Play Store or did you just run it via flutter run as the latter won't work.

hm122 commented 3 years ago

@britannio I did try both (published also as internal test version on the play store), unfortunately no dialog is shown in neither case. Tested on the emulator and a real device with Android 6.

hm122 commented 3 years ago

Update: The problem is neither the emulator nor the debug version. To be honest, I don't know what the problem was exactly. But now its working everywhere (As debug, as release, in the emulator, with flutter run). I will let you know, if I'm able to find out what exactly might have caused this. Thanks for your help!

z85510 commented 3 years ago

Same issue , How did you solve this problem ? I can't see review dialog and there is no error

britannio commented 3 years ago

@z85510 Hey, can you confirm that you are following the testing instructions? https://github.com/britannio/in_app_review#testing

z85510 commented 3 years ago

@z85510 Hey, can you confirm that you are following the testing instructions? https://github.com/britannio/in_app_review#testing

image

here is the log :

image

appStoreId is just for iOS, am I right?

**Update : I don't know how but now it's working 🤔 I tested on emulator and it worked then I tested again on real device and everything is working perfectly.**

hm122 commented 3 years ago

Interesting. Looks like you had the same problem with the same 'solution'. The only thing I can think of which might have changed something was to execute a flutter clean.

britannio commented 3 years ago

@z85510 Hey, can you confirm that you are following the testing instructions? https://github.com/britannio/in_app_review#testing

image

here is the log :

image

appStoreId is just for iOS, am I right?

**Update : I don't know how but now it's working 🤔 I tested on emulator and it worked then I tested again on real device and everything is working perfectly.**

But were you following the testing instructions?

Holofox commented 3 years ago

@hm122, do I understand correctly that the previously published version on Google Play started working after a while?

@britannio, a similar problem occurs in an application that has already been published on Google Play. As far as I understand, there is no way in the API of the system to find out if the system window has appeared with the evaluation of the application?

britannio commented 3 years ago

@hm122, do I understand correctly that the previously published version on Google Play started working after a while?

@britannio, a similar problem occurs in an application that has already been published on Google Play. As far as I understand, there is no way in the API of the system to find out if the system window has appeared with the evaluation of the application?

@Holofox Are you referring to this issue or something else? The API cannot reliably determine if the review pop up has appeared or not and this is due to limitations of the underlying Android & IOS APIs.

Cge001 commented 3 years ago

how to solve this? every why

my log: I/InAppReviewPlugin(24245): isAvailable: called I/InAppReviewPlugin(24245): isAvailable: playStoreInstalled: true I/InAppReviewPlugin(24245): isAvailable:lollipopOrLater: true I/InAppReviewPlugin(24245): isAvailable: The Play Store is available and Android 5 or later is being used I/InAppReviewPlugin(24245): cacheReviewInfo: called I/PlayCore(24245): UID: [10515] PID: [24245] ReviewService : requestInAppReview (com.hellotalk.aigrammar) I/InAppReviewPlugin(24245): cacheReviewInfo: Requesting review flow I/InAppReviewPlugin(24245): onComplete: Successfully requested review flow I/flutter (24245): _showAppReView = true I/InAppReviewPlugin(24245): requestReview: called I/InAppReviewPlugin(24245): launchReviewFlow: called

looks like it's ok,but there is no dialog show on my screen... test 3 days, i'm so sorry... cry

Cge001 commented 3 years ago

my code: void _showAppReView() async { bool isA = await inAppReview.isAvailable(); print("_showAppReView = $isA"); if (isA) { inAppReview.requestReview(); // inAppReview.openStoreListing(appStoreId: GlobalConfig.iosAppId, microsoftStoreId: ""); } }

and my app already published on google play 2 years.

Cge001 commented 3 years ago

oh, god bless me, i solved it. belowe is my steps: 1、i follewed all steps according this doc :https://github.com/britannio/in_app_review#android; 2、i also upload my app (a new one version, in fact our already uploaded 2 years ago),but this time i develop the "in app review" function, so, i uploaded it to test track with a new version again; 3、at last, test 100 times , did not success... 4、i visit into the "google play console plateform"- https://play.google.com/console/u/0/developers/6413088719873589360/app/4974364473613420380/releases/internal-app-sharing , and click the "Internal app sharing" item and accept the share terms. upload my new version app again; meanwhile, check the test list and make sure my google account within; 5、copy the share link, and download to my android phone; 6、test it ,successful, congratulations!god blessed me. smile....

but, i want to ask , why does upload app by Internal app sharing this way is ok? and anthor way that upload app to the test track is not ok ???

feduke-nukem commented 1 year ago

I got the same problem on OnePlus device

Every other is working fine. Not able to fix it, bottom bar is flashing and nothing happens