In the documentation it's stated that the ReviewInfo object is only valid for a limited amount of time:
Note: The ReviewInfo object is only valid for a limited amount of time. Your app should request a ReviewInfo object ahead of time (pre-cache) but only once you are certain that your app will launch the in-app review flow.
How long (roughly) is the ReviewInfo object valid?
For example, can a game fetch the ReviewInfo at startup (if the user has played long enough), and then launch the review flow only if the user beats their high score, which could be 5, 10, 30 minutes down the line?