在我的应用 运行 时收听 PURCHASES_UPDATED 以兑换促销代码

Listen for PURCHASES_UPDATED for redeem promo codes while my app is running

我正在阅读应用内促销文档以允许用户兑换促销代码。 The docs say 我们需要涵盖用户在我们的应用 运行 时在 Play 商店应用中兑换促销代码的情况。这是通过侦听 PURCHASES_UPDATED 意图来完成的。

The docs say 我们必须在 activity 的 onResume() 方法中注册广播接收器(对于 PURCHASES_UPDATED)。并在 onPause() 中注销它。

但是,如果我的应用程序打开,并且用户打开了 Play Store 应用程序,我的应用程序 activity 的 onPause 方法将被执行,因此广播接收器将被注销,我的应用程序将不会收到通知...

文档有误吗?还是我遗漏了什么?

此处可能适用多种情况。

首先,有 Android 台设备可以在前台进行 运行 多项活动,或者您可能在不同的设备上使用同一帐户购买内容。在这些情况下,您的接收器将执行它应该执行的操作。

其次,在更常见的情况下,是的,您会遇到问题并且必须另外检查 onResume() 中的购买,因为您的接收器在应用程序关闭时不会触发。由于您应该已经在 onStart() 中检查了它,因为您的应用想知道启动时购买的物品是什么,您可能需要考虑只移动该检查。