gpt4 book ai didi

android - 计费库 2.0 中的新 "Resubscribe"功能是什么?它与旧的计费库 1.2.2 有何不同?

转载 作者:行者123 更新时间:2023-12-03 14:13:48 24 4
gpt4 key购买 nike

在 Android 开发者控制台中,我看到了这条消息

Resubscribe isn't currently available for your users because your appdoes not use Billing Library 2.0 in all active APKs


但是,我很困惑。目前,我们正在使用计费库 1.2.2。
这就是我们决定是否向用户显示订阅按钮的方式。
  • 在查询采购期间,我们将执行List<Purchase> purchases = PurchasesResult.getPurchasesList() .如果在 purchases 中找不到订阅的 SKU ,我们将显示订阅按钮。如果没有,我们将隐藏订阅按钮。
  • 如果这是新订户,他的 purchases 中将没有 SKU .因此,他将看到订阅按钮,并允许再次订阅。
  • 如果这是以前订阅且已取消的用户,我们假设他的 purchases 中没有 SKU。也!!!因此,他将看到订阅按钮,并允许再次订阅相同的 sku。

  • 如您所见,即使使用旧的计费库 1.2.2,我们仍然允许用户再次重新订阅相同的 SKU,以恢复他之前取消的订阅。
    如果是这样,为什么会有一个特殊的功能叫做 “重新订阅” ( https://developer.android.com/google/play/billing/subs#resubscribe ) 在计费库 2.0 中?它与我们当前的计费库 1.2.2 流程有何不同?

    最佳答案

    老实说,使用重新订阅功能以新旧方法重新订阅同一个 sku 并没有太大区别。为什么? (顺便说一句,这些都没有经过可靠的测试,这是一个合乎逻辑的解释。)

  • 在这两种情况下,订阅元素都将保持不变,它们都将返回 queryPurchases。只要订阅处于 Activity 状态,就可以使用该方法。
  • 这涉及到 queryPurchases方法,我还没有测试过,但有可能,以旧的方式,多次购买同一个sku 可能会返回,这可能会造成困惑。在取消订阅仍然有效的情况下重新订阅后,queryPurchases方法将只返回 1 个订阅,导致 queryPurchaseHistoryAsync方法不返回任何内容。以旧的方式,如果 queryPurchases获得订阅后,该方法仅返回 1 次购买,而不是具有相同 sku 的已取消订阅,queryPurchaseHistoryAsync实际上可能会返回已取消的旧订阅,即使它在取消状态下仍处于 Activity 状态。
  • 在 Google Play Developer API 方面,有一种方法可以将购买 token 链接到旧 token 。为此,Purchase.getLinkedPurchaseToken()订阅同一个 sku 后,函数可能会在旧方式和新方式之间返回不同的值。我想,用旧方式重新订阅一个有效的取消订阅将生成一个新的购买 token ,并且 getLinkedPurchaseToken() .这不会影响 BillingClient本身,因为没有 getLinkedPurchaseToken()方法,但从逻辑上讲,这应该是结果。

  • 底线:我可以说的唯一区别是,使用新方式重新订阅可能会减少混淆,而在旧方式上可能会有您想要避免的不必要数据。只要您有一个从 queryPurchases 返回的订阅如果它与您的 sku 匹配,您可以认为该用户具有有效订阅。

    关于android - 计费库 2.0 中的新 "Resubscribe"功能是什么?它与旧的计费库 1.2.2 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63654060/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com