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

Sharezone Plus Page behavior

Open Jonas-Sander opened this issue 11 months ago • 2 comments

TODOs

  • [X] Add Buy Button loading state (#978)
  • [ ] Add Buy Button disabled state (on error, no shimmer)
  • [ ] Add "Not available on Web" dialog when pressing buy button
  • [ ] Add "Buy button pressed" event
  • [ ] Add "Fake buy button pressed" event
  • [ ] Add "Successfully bought" event (use special Firebase conversion event)
  • [X] Add Price loading shimmer (#990)
  • [ ] Implement error text (loading price failed / invalid response)
  • [ ] Implement error dialog (error when buying / after pressing buy button)
Platforms RevenueCat
iOS
Android
Web
macOS

Loading products cases:

  • RevenueCat is available on the platform and we're waiting for a response from RevenueCat
  • RevenueCat is available on the platform and we got an Exception/Error but we still have retries left
  • RevenueCat is available on the platform and we got a valid response from RevenueCat
  • RevenueCat is available on the platform but got an Exception/Error from RevenueCat and we have no retries left
  • RevenueCat is available on the platform but we got an invalid response (e.g. our sharezone-plus product is not in the response)
  • RevenueCat is not available on the platform and can't be used

UI states: ❌ Buy Button => disabled/onPressed : null

State Product Price Shown Buy Button Auxiliary Behavior
Loading ❌ (Loading shimmer) ❌ (Loading Shimmer) -
Success -
Retrying ❌ (loading shimmer) ❌ (Loading Shimmer) -
Error (no retries left) ✅ (fallback price) Show error text
Invalid Response ✅ (fallback price) Show error text
RevCat Not Available ✅ (fallback price) Show "Not available on web" dialog + and send analytics event on buy button press

Jonas-Sander avatar Sep 12 '23 13:09 Jonas-Sander

Open questions / notes:

  • 4,99€/month => Should "month" be hardcoded?
  • Will price and hasPlus be loaded independently? (If so we can't use a catch-all "loading" attribute.)
  • Can the fallback price for web really be loaded via RemoteConfig regarding our "load values for next app launch" approach? (#697)

Jonas-Sander avatar Sep 12 '23 13:09 Jonas-Sander

4,99€/month => Should "month" be hardcoded?

We can add to the fallback value a suffix like _month. It's likely that we only have per month or per year version.

nilsreichardt avatar Sep 12 '23 16:09 nilsreichardt