Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

In-app review prompt #13507

Closed
vesta0 opened this issue Aug 11, 2020 · 13 comments
Closed

In-app review prompt #13507

vesta0 opened this issue Aug 11, 2020 · 13 comments
Labels
E5 Estimation Point: about 5 days eng:qa:verified QA Verified needs:uplift Issue / PR needs to be uplifted to the release branch

Comments

@vesta0
Copy link
Collaborator

vesta0 commented Aug 11, 2020

User Story

  • As a user, I want to have the option to easily rate the app without it disruptive to my browsing flow.

Dependencies

Using the Google In-app review API since it will allow user to rate the app without having the leave the browser.

Acceptance Criteria

  • I can rate the app without being taken out of the app (to the play store)
  • I am not prompted excessively for a review (max 3 times a year)

┆Issue is synchronized with this Jira Task

@github-actions github-actions bot added the needs:triage Issue needs triage label Aug 11, 2020
@eliserichards eliserichards added this to Inbox in Engineering triage via automation Aug 12, 2020
@eliserichards eliserichards moved this from Inbox to Sourpatch Staging in Engineering triage Aug 12, 2020
@eliserichards eliserichards removed the needs:triage Issue needs triage label Aug 12, 2020
@liuche
Copy link
Contributor

liuche commented Aug 18, 2020

I think we decided that this would be something that we want to do through LeanPlum.

EDIT: out of date!

Here are the specs:
We will go with the Google In-app review API for now since it is simpler to implement AND collect an unbiased sample of reviews without forcing the user to leave the app.

Acceptance criteria:

  • Review prompt should be triggered only for users that have Firefox set as their default browser AND after the 5th time the user opened the app.
  • User should be able to rate app without being taken out of the app (to the play store)
  • User should not be prompted excessively for a review (max 3 times a year)

Other noteworthy guidelines:

  • Surface the card as-is, without tampering or modifying the existing design in any way, including size, opacity, shape, or other properties.
  • Do not add any overlay on top of the card or around the card.
  • The card and the card’s background should be on the topmost layer. Once the card has surfaced, do not programmatically remove the card. The card is removed automatically based on either the user’s explicit action, or an internal Play Store mechanism.

@liuche liuche moved this from Sourpatch Staging to Hershey Staging in Engineering triage Aug 18, 2020
@liuche liuche added hershey and removed sourpatch labels Aug 18, 2020
@vesta0 vesta0 added this to Q3 Backlog in Fenix Product Backlog Aug 19, 2020
@liuche liuche removed the hershey label Aug 19, 2020
@liuche liuche moved this from Hershey Staging to Sourpatch Staging in Engineering triage Aug 19, 2020
@liuche
Copy link
Contributor

liuche commented Aug 19, 2020

Moving this back to sourpatch bc the search work is almost done!

@liuche
Copy link
Contributor

liuche commented Aug 20, 2020

Just to be explicit, this does not require any strings, per the Android guidelines. We can only control when the prompt is shown, and we must not show it too often.

Your app should not ask the user any questions before or while presenting the rating button or card, including questions about their opinion (such as “Do you like the app?”) or predictive questions (such as “Would you rate this app 5 stars”).

boek added a commit to eliserichards/fenix that referenced this issue Aug 26, 2020
boek added a commit to eliserichards/fenix that referenced this issue Aug 26, 2020
boek added a commit to eliserichards/fenix that referenced this issue Aug 26, 2020
boek added a commit to eliserichards/fenix that referenced this issue Aug 26, 2020
boek added a commit to eliserichards/fenix that referenced this issue Aug 26, 2020
boek added a commit to eliserichards/fenix that referenced this issue Aug 26, 2020
boek added a commit to eliserichards/fenix that referenced this issue Aug 26, 2020
boek added a commit to eliserichards/fenix that referenced this issue Aug 26, 2020
boek added a commit to eliserichards/fenix that referenced this issue Aug 26, 2020
boek added a commit to eliserichards/fenix that referenced this issue Aug 26, 2020
boek added a commit to eliserichards/fenix that referenced this issue Aug 27, 2020
boek added a commit to eliserichards/fenix that referenced this issue Aug 27, 2020
boek added a commit to eliserichards/fenix that referenced this issue Aug 27, 2020
boek added a commit to eliserichards/fenix that referenced this issue Aug 27, 2020
@liuche liuche added the needs:uplift Issue / PR needs to be uplifted to the release branch label Aug 27, 2020
@liuche liuche added this to Sprint backlog in sourpatch 18 sprint Aug 27, 2020
@bifleming bifleming moved this from Sprint backlog to In Progress in sourpatch 18 sprint Aug 28, 2020
@bifleming bifleming moved this from In Progress to Ready for QA in sourpatch 18 sprint Aug 28, 2020
@bifleming bifleming moved this from Ready for QA to Done in sourpatch 18 sprint Aug 28, 2020
@liuche liuche added the eng:qa:needed QA Needed label Aug 28, 2020
@liuche
Copy link
Contributor

liuche commented Aug 28, 2020

This should be triggered on Nightly (but depends on Google Play Services) by doing the following:

  • fenix is set to default browser
  • restart browser 5 times

We're not entirely clear on when Google Play chooses to show this, but those steps will set it up to be able to be shown (so if it doesn't happen exactly with those steps, please note it in the comments, but we don't actually have full control over this)

If you want to trigger it again, it needs to be a fresh install because one of the restrictions is that GPS will not show the prompt too close together (by a few weeks).
This may not work if you have already rated Firefox Nightly.

Link to Google API in comment 0 can provide more info on how it should look.

@LaurentiuApahideanSV
Copy link

I tested the issue on Firefox Preview Nightly 200831 (Build #2015761139) but was unable to trigger the In-App Review prompt. I tried the following scenario:

  1. Log in the Play Store with a google account that has not rated Firefox Preview Nightly;
  2. Remove all other google accounts found on the device;
  3. Restart Firefox Preview more than 5 times;
  4. Browse through web pages;
  5. Navigate through the setting menu.

Are there any more steps that need to be completed in order for the In-App Review prompt to be shown?

@liuche
Copy link
Contributor

liuche commented Aug 31, 2020

Did you set Firefox Nightly as default browser @LaurentiuApahideanSV ? Did not see that in your list of steps, but maybe it was done but not written down. Could you also try browsing a site for each of the 5 restarts?

I was able to get this to show up on Nightly, but others had not been able to, so the unknown is probably related to where Google Play Services is controlling something.

@liuche
Copy link
Contributor

liuche commented Aug 31, 2020

@boek if I'm cutting a new 80 Release with the crashfix from #14357 could we get this uplifted too? and there was a follow-up crash with lower API level devices, maybe @eliserichards you know what that is?

Let me know if it's too risky at this point, just a few days into nightly. Would be worthwhile for someone to check the crashes too to see if there's anything google play services / ratings related.

boek pushed a commit to boek/fenix that referenced this issue Aug 31, 2020
For mozilla-mobile#13507 - Extracts review prompt behavior into ReviewPromptController

For mozilla-mobile#13507 - Adds tests for ReviewPromptController

For mozilla-mobile#13507 - Performance fixes for the ReviewPromptController

For mozilla-mobile#14318 - Use old API to try to fix startup crash without GPS
@boek boek mentioned this issue Aug 31, 2020
3 tasks
liuche pushed a commit that referenced this issue Aug 31, 2020
For #13507 - Extracts review prompt behavior into ReviewPromptController

For #13507 - Adds tests for ReviewPromptController

For #13507 - Performance fixes for the ReviewPromptController

For #14318 - Use old API to try to fix startup crash without GPS

Co-authored-by: Elise Richards <erichards@mozilla.com>
@sv-ohorvath
Copy link
Contributor

@liuche Neither of us could trigger the Gplay review prompt on Nightly 9/1 or 80.1.2 RC (this one because is not yet in the Gplay Store, maybe?) following the criteria mentioned:

  • new GPlay account, with no other reviews/apps installed
  • first time installation of Nightly
  • set as the default browser
  • browsing & restarted the app for 5+ times
    So we can't confirm the issue on this RC build.

@liuche
Copy link
Contributor

liuche commented Sep 2, 2020

Hmmm, this is very strange - I was only able to trigger this once on my Nightly build.

The Google Play Services APIs are not clear on how exactly the prompt gets triggered. However, we will keep an eye out for new reviews possibly through here.

This is a low-risk change and maybe it is just unpredictable how the GPS APIs are working. I'll leave this open for now though. Maybe someone who sees this prompt show up can comment.

@Diana-Rus
Copy link

@liuche unfortunately we still didn't managed to trigger the In-app review prompt on Beta 81.1.0-beta.2.
We also tried with a VPN, besides the scenarios from "#13507 (comment)"

@liuche liuche removed this from Sourpatch Staging in Engineering triage Sep 8, 2020
@vesta0
Copy link
Collaborator Author

vesta0 commented Sep 16, 2020

Can we close this issue?

@liuche
Copy link
Contributor

liuche commented Sep 17, 2020

I think even though QA wasn't able to reproduce this, some on the eng team could, and we're seeing a bump in positive reviews! so this is something we can close. Maybe there are some Google Play settings that we are not aware of that is making this difficult to test, thank you for trying!

@liuche liuche closed this as completed Sep 17, 2020
@lobontiumira
Copy link

Hi all!
I was able to trigger the review prompt on the 9/28 Nightly build with Samsung Galaxy Note 8 (Android 9), and HTC 10 (Android 8).
I'll remove the qa:needed label.
*Notes:

  • tapping on Undo, takes the user back to the review prompt (screenshot 2),
  • tapping on Not now or Cancel, removes the prompt.

review prompt

@lobontiumira lobontiumira added eng:qa:verified QA Verified and removed eng:qa:needed QA Needed labels Sep 29, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
E5 Estimation Point: about 5 days eng:qa:verified QA Verified needs:uplift Issue / PR needs to be uplifted to the release branch
Projects
Development

No branches or pull requests

7 participants