Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: In app review #3333

Merged
merged 9 commits into from
Nov 26, 2022
Merged

feat: In app review #3333

merged 9 commits into from
Nov 26, 2022

Conversation

g123k
Copy link
Collaborator

@g123k g123k commented Nov 19, 2022

This feature allows the user to rate the app on the App Store/Google Play/other stores based on URI (F-Droid for example)
Like the scanner, we have multiple dependencies and we selected the right one according to the output.

Will fix #1299

Screenshot_1668870485

(Feel free to change the content of the dialog)

@g123k g123k requested a review from a team as a code owner November 19, 2022 15:14
@g123k g123k self-assigned this Nov 19, 2022
@codecov-commenter
Copy link

Codecov Report

Merging #3333 (b23105a) into develop (b0b52c5) will increase coverage by 0.00%.
The diff coverage is 18.75%.

@@           Coverage Diff            @@
##           develop    #3333   +/-   ##
========================================
  Coverage    10.48%   10.49%           
========================================
  Files          251      254    +3     
  Lines        12322    12352   +30     
========================================
+ Hits          1292     1296    +4     
- Misses       11030    11056   +26     
Impacted Files Coverage Δ
...s/smooth_app/lib/data_models/user_preferences.dart 13.67% <0.00%> (-0.62%) ⬇️
...ooth_app/lib/pages/user_management/login_page.dart 57.34% <0.00%> (-9.88%) ⬇️
..._app/lib/services/app_store/app_store_service.dart 20.00% <20.00%> (ø)
packages/smooth_app/lib/main.dart 14.52% <50.00%> (ø)
...kages/smooth_app/lib/services/smooth_services.dart 83.33% <75.00%> (-5.56%) ⬇️
packages/smooth_app/lib/pages/image_crop_page.dart 1.38% <0.00%> (-0.26%) ⬇️
...s/smooth_app/lib/helpers/product_cards_helper.dart 0.00% <0.00%> (ø)
...smooth_app/lib/pages/product/new_product_page.dart 0.00% <0.00%> (ø)
...ooth_app/lib/background/background_task_image.dart 0.00% <0.00%> (ø)
...ooth_app/lib/pages/hunger_games/question_card.dart 0.00% <0.00%> (ø)
... and 12 more

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@teolemon
Copy link
Member

  • Can we bind the review form as a translatable string in case the user says No ?
  • Can we show this prompt to logged in users first ?
  • Can we have a remote kill switch by platform so that we can decide to stop showing it if a given release is buggy (eg the current one with the black screen)

@g123k
Copy link
Collaborator Author

g123k commented Nov 20, 2022

  • Can we bind the review form as a translatable string in case the user says No ?

There's no review form now, am I right?
What would it look like?

  • Can we show this prompt to logged in users first ?

Right now, it's only when the user logs in.
If you want another trigger, please describe what you want ;)

  • Can we have a remote kill switch by platform so that we can decide to stop showing it if a given release is buggy (eg the current one with the black screen)

We need a tool for that

@teolemon
Copy link
Member

https://forms.gle/AuNZG6fXyAPqN5tL7",
"message" : "📢 We'd like your feedback about the new app"
"https://forms.gle/vCurhD2Y3ewS1YPv5",
"message" : "📢 Wir freuen uns über Ihr Feedback zur neuen App"
"https://forms.gle/CSMmuzR8i4LJBjbM9",
"message" : "📢 Nos gustaría recibir tu opinión sobre la nueva aplicación"
"https://forms.gle/cTR4wqGmW7pGUiaBA",
"message" : "📢 Nous aimerions connaître votre avis sur la nouvelle application"
"https://forms.gle/9HcCLFznym1ByQgB6",
"message" : "📢 Ci piacerebbe il tuo feedback sulla nuova app"

@g123k
Copy link
Collaborator Author

g123k commented Nov 21, 2022

forms.gle/AuNZG6fXyAPqN5tL7", "message" : "📢 We'd like your feedback about the new app" "forms.gle/vCurhD2Y3ewS1YPv5", "message" : "📢 Wir freuen uns über Ihr Feedback zur neuen App" "forms.gle/CSMmuzR8i4LJBjbM9", "message" : "📢 Nos gustaría recibir tu opinión sobre la nueva aplicación" "forms.gle/cTR4wqGmW7pGUiaBA", "message" : "📢 Nous aimerions connaître votre avis sur la nouvelle application" "forms.gle/9HcCLFznym1ByQgB6", "message" : "📢 Ci piacerebbe il tuo feedback sulla nuova app"

Ok, so we need a tool to store it.
The easiest way is to use this repo or another dedicated Git to have this kind of information.
Or a better way: a Firebase Remote Config-like tool.

Since this is another development, I think having a dedicated issue would be better

@teolemon
Copy link
Member

We need a extra screen to avoid negative reviews: Do you like the app ? Yes > Rating No > Form/Email

@monsieurtanuki
Copy link
Contributor

We need a extra screen to avoid negative reviews: Do you like the app ? Yes > Rating No > Form/Email

cf. #1299 (comment)

My suggestion for the first dialog: "Enjoying this app?"

  • Yes!
  • Not really
  • Ask me later
  • Don't ask again

How compatible would that be with in_app_review? I don't know.

@g123k
Copy link
Collaborator Author

g123k commented Nov 21, 2022

We can use the Store dialog only if it's a yes.
But where should we store the other kind of feedback?

@monsieurtanuki
Copy link
Contributor

We can use the Store dialog only if it's a yes.
But where should we store the other kind of feedback?

Locally:

  • I like the app, and I want to rate it => rate
  • I like the app, but no thanks no rating => local flag
  • I don't like the app, and I want to tell you why => email
  • I don't like the app, and not thanks no email => local flag
  • ask me later => local timestamp
  • never ask me again => local flag

@g123k
Copy link
Collaborator Author

g123k commented Nov 22, 2022

Maybe let's the question otherwise.

Is-it OK for this first implementation and add the other features in another PR?
Or should we discuss first? (In that case I will then make this PR a draft)

@monsieurtanuki
Copy link
Contributor

My personal opinion: the priority is to avoid bad ratings, so I would discuss it first before giving angry users an easy access to ratings.
That said, this is not my own app.

@teolemon
Copy link
Member

I would say we can merge if we already have the logged in criteria

@teolemon
Copy link
Member

And we can keep the form redirect to a subsequent PR. The absolute priority right now is packaging.

Copy link
Member

@M123-dev M123-dev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks @g123k

@@ -0,0 +1,26 @@
# Miscellaneous
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I mentioned it a while back in another review already. I'd rather have one global .gitignore with some local overrides then a lot of them all over the place

@@ -0,0 +1,30 @@
# Miscellaneous
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here

teolemon and others added 2 commits November 26, 2022 14:24
@teolemon
Copy link
Member

Merging the rating system. Thank you so much @g123k

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ask logged-in users to rate the app
5 participants