我们正在实施带有服务器端验证的 Google Billing。
我们必须支持的功能之一是“免费试用”。单用户只能参与“免费试用”一次。
如果他取消订阅,然后再次尝试购买相同的订阅,则会出现“您已参与免费试用”的备注(这意味着用户将无法获得试用期。相反,他必须付费立即地)。此场景非常适合生产/现场环境。
但是,在测试环境(或开发环境,尤其是开发环境)中,我们执行了很多尝试和重复步骤(这意味着我们多次使用同一个谷歌用户经历订阅生命周期),这是真正的痛苦屁股。对于每次迭代,我们都必须创建新的谷歌用户。
我的问题是:
1 - 有没有办法在测试环境(测试环境 = google play 测试轨道)中为特定用户(或所有人)重新启用“免费试用”。
或
2 - 有没有其他方法可以让我们的生活更轻松。
实际上 new-google-account 方法也不起作用。
找到了两种可能的方法:
1 - 更改手机的 IMEI 号码。注意:这在某些国家/地区可能是非法的,并且可能会损坏您的手机。我没有尝试过这种方法,但它显然有效。
2 - 在您的 Google Play 商店中创建多个订阅。并且仅在测试环境中使用这些订阅。另外,在订阅设置中,设置“免费试用限制:每个订阅一次”。现在,每个订阅您可以免费试用一次(10 个订阅 = 10 个免费试用期)。
非常丑陋的解决方案(如果它们是解决方案)。
如果您使用 RevenueCat,您可以查询所有PurchasedProductIdentifiers 并检查用户是否曾经订阅过。如果是的话,就不应该提供免费试用
我偶然发现了一个方法。您所需要做的就是创建免费试用优惠,并在资格标准中选择开发人员确定的。这样,无论您测试多少次,您都将始终使用同一 Google 帐户在订阅中启用免费试用。希望这有帮助。