lt-app icon indicating copy to clipboard operation
lt-app copied to clipboard

Add rating prompt on iOS

Open SyntaxBlitz opened this issue 2 years ago • 1 comments

This code is in js/components/LanguageHome/LanguageHomeTopButton.react.tsx.

Will require:

  • updating the log action name
  • updating the linked URL and testing that this behaves acceptably in iOS
  • checking App Store policies about rating prompts; do we need to do this with some internal SDK? google has an SDK for this but it had some properties I didn't really like so I just did it manually with a link
  • ensuring that prefs are set correctly (prefs are future-proof so if we want to change the nag structure down the road, like for example re-nagging after some amount of time, we have a timestamp saved -- though there are no plans for this at the moment)
  • actually verifying that it works on iOS

assigning this to you @jafayer but up to you whether you want to take this on. for motivation, this is what our Android ratings count did after we added the light nag (which is, like, the most polite nag ever -- only shows up at lesson 10 and never shows up again once dismissed)

motivation from our weekly ratings graph: image rating prompt landed in sep 2021. the spike in oct 2020 is just because that's when the app really took off

SyntaxBlitz avatar Dec 29 '22 04:12 SyntaxBlitz

Putting this here for posterity:

Looks like Apple's documentation on ratings and reviews suggests (but does not require) we use the native ratings component (See the section "Prefer the system-provided prompt" for more details).

The URL below appears to work for deep linking the review feature both on macos and iphone, but as this stackoverflow notes, it doesn't work in the Simulator so in order to get the feature rolled out I'll obviously have to do some Testflight runs (which I'd have to do anyway).

https://apps.apple.com/us/app/language-transfer/id1519599004?action=write-review

One follow-up detail -- we needed to switch the action but I don't think we had one set before. I can just make up "open_app_store" to match "open_google_play" if that works. We might want to get in the habit of declaring and exporting those as constants in a centralized place for consistency, I think right now we're just using string literals.

jafayer avatar Dec 29 '22 20:12 jafayer