Closed filbabic closed 3 years ago
@filbabic
Putting together a design and some small improvements for that componenet in the next 24 hours!
@luke-freeman Thanks!
Will update the design accordingly!
Updated the design to match the spec.
@luke-freeman let me know if this is what you aimed for! :]
https://drive.google.com/drive/folders/1zgfNgTOvxyEIhBmXxgwkrXG7Wrb_7bjZ?usp=sharing
@filbabic
It looks good! But...in the Android version and iOS we use the standard UI components for modals and lists.
The design you have incorporated deviates from this and that now means we have a rogue modal that doesn't match up with the others. I think it's probaby best to stick with the original design to keep things consistent even if the modals do differ from the design language
@luke-freeman Sure, I'll revert to "standard" rounded corners for the dialog & the buttons!
This is a pretty big PR showing all the work I've done in cleaning up the app, decoupling some parts of it (e.g. styles) and implementing the In App Review feature.
The In App Review feature aims to improve our app rating, by asking users to review the app while feeling accomplished, after through finishing a course.
Hopefully, this will increase the app rating of our users and app, giving our app a nicer appearance on the Play Store.
This is connected to #304.
The main part of the logic is situated in the
inappreview
module, that now represents a separate module for all the In App Review logic.The remainder is located in the
collection
package and is tied to theCollectionFragment
and theCollectionViewModel
.The In App Review implementation works like so:
Once the user finishes a course & goes back to its Collection, or opens a Collection screen, we check their eligibility for an in app review.
If the user hasn't rated the app yet (internal flag), hasn't decided to "never rate" and hasn't chosen "rate later", or they chose rate later & a week has passed, we deem them eligible.
Everything else is either "already rated", "never rate" or "too soon" to ask the user again.
The dialog design is currently in design review waiting for feedback.
A -> The user chooses to rate the app. We set that the user has rated the app and attempt to show the In App Review flow. B -> The user chooses to rate the app later. We set a timer for a week and if the user triggers step 1., we repeat the process. C -> The user chooses to never rate the app (Don't ask me again). We never* show the prompt again.
There are a few things to note.
We cannot guarantee or read the state of the In App Review. We don't know if the Google dialog was shown or not. So if the user drops out of the review, we won't ask them again, but they might've not rated our app in the end.
We cannot guarantee a positive rating (e.g 4 or 5 stars), but hopefully the users will feel good after finishing a course and give us a good rating.
The in app review prompts are highly inconsistent, as any Google API... Right now, there is not a 100% chance that the dialog will show, that it showed even though we received a successful result, or that the review was published to the Play Store.
We have to hope for the best, but the business logic should be sound and hopefully we'll see some more reviews after the release.