Google Play In-App Review API:ReviewInfo 对象的有效期有多长?

dla*_*pad 6 android google-play google-play-services google-play-core

在文档中,它指出 ReviewInfo 对象仅在有限的时间内有效:

注意:ReviewInfo 对象仅在有限的时间内有效。您的应用应提前(预缓存)请求 ReviewInfo 对象,但前提是您确定您的应用将启动应用内审核流程。

ReviewInfo 对象的有效期(大致)多久?

例如,游戏是否可以在启动时获取 ReviewInfo(如果用户玩的时间足够长),然后仅在用户击败他们的高分(可能是 5、10、30 分钟后)时才启动评论流程?

小智 5

于是,我针对这个问题做了一些测试,发现ReviewInfo的有效期超过2小时,但不到3小时。

我通过在应用程序启动过程中加载ReviewInfo对象来测试它,并且在应用程序打开时我将设备的时间增加了 3 小时。在这种情况下,它不起作用,但当我使用 2 时它确实起作用了。

我还用更多小时(甚至几天)对其进行了测试,但它从未起作用,但回到 2 小时后,对话框可以正常显示,所以我认为这是他们当前的阈值。但请注意,根据文档,他们可以随时更改此设置,因此请谨慎交易。


Mar*_*cel 1

正如文档中所述:

https://developer.android.com/guide/playcore/in-app-review/kotlin-java#request-review-info

注意:ReviewInfo 对象仅在有限的时间内有效。您的应用程序应提前(预缓存)请求 ReviewInfo 对象,但只有当您确定您的应用程序将启动应用程序内审核流程时。

虽然您可能会发现 TTL,但它是一个实现细节,因此依赖它可能会适得其反。

我不建议在应用程序创建时加载,而是使用一些逻辑来保护请求。

例如,一旦用户成功执行操作或您想要应用的任何逻辑,尝试在屏幕转换后显示请求是一种常见的做法。这意味着在前一个屏幕上,您已经可以启动请求,并且只有在新屏幕出现后才启动流程。

有关示例,请参阅 PlayCoreKtx 示例 https://github.com/android/app-bundle-samples/blob/master/PlayCoreKtx/app/src/main/java/com/google/android/samples/dynamicfeatures/state/ReviewViewModel .kt