1

我将给出一个相当冗长的解释,以防其他人遇到同样的问题......

我正在我的 Android 应用程序中实施 Google 应用程序内计费,并打算为应用程序用户提供“订阅”。我安装并编写了 Google 的应用内结算版本 3 (IAB V3) 并使用 Google 的测试帐户让一切正常运行。然后我在开发者仪表板中设置产品并更改代码中的 SKU 以指向我的新订阅产品。推出它只是为了在您尝试购买订阅时收到“未找到项目”消息。搜索论坛,看到很多人说“只需,等几个小时,它就会开始工作”。好吧,我等了一夜,但仍然出现“找不到项目”的错误。然后我意识到 IAB V3 不支持订阅——Doh!

我需要使用 IAB V2 重写。在 SDK 管理器中,我只看到“Google Play Billing Library - 3”。如何安装第 2 版以便获得应用内计费订阅?我已在 SDK 管理器中删除了 Google Play Billing Library 第 3 版并进行了刷新。“过时”已被选中,但它仍然不提供版本 2 进行安装。

4

3 回答 3

2

我遇到了同样的问题,我实际上是在使用 V2 并切换到 V3。V2和V3的区别就像白天和黑夜,我再也回不去了。V3 更易于理解和使用。

您可以在 V3 中实现自定义订阅,只需在 x 天过去之前不消费即可。然后消费该项目并提示您的用户购买新的 x 天订阅。缺点是您必须要求用户再次购买订阅。

V3 订阅将很快推出,因此您可以轻松更新代码并上传新版本。

示例代码:

    IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() 
    {
      public void onQueryInventoryFinished(IabResult result, Inventory inventory) 
      {
        if(inventory.hasPurchase("android.test.purchased")) 
        {
          java.util.Date expirationDate = your expiration Date;
          java.util.Date purchaseDate   = new java.util.Date(inventory.getPurchase("android.test.purchased").getPurchaseTime());

          if(purchaseDate.compareTo(expirationDate)<=0) //expired
          {
            mHelper.consumeAsync(inventory.getPurchase("android.test.purchased"), mConsumeFinishedListener);
            mySharedPrefs.edit().putBoolean("isSubscribed",false).commit();
          }
       }
     }
   };
于 2013-01-11T16:02:11.217 回答
0

不知道为什么您的 SDK 管理器找不到它我仍然拥有它,因为我最初拥有它。

这是给你的压缩版本:

http://blog.blundell-apps.com/wp-content/uploads/2012/02/in-app-billing-v02.zip

您可以将其解压缩到:

android-sdk-macosx/extras/google/play_billing/in-app-billing-v02

Google Play 演示有其他选择,我的教程就是其中之一 :-)

http://blog.blundell-apps.com/simple-inapp-billing-payment/

和机器人媒体有一个库:

http://www.robotmedia.net/2011/06/android-billing-library-in-app-billing-made-simple/

(我的意思是您可以从 SDK-Manager 之外的其他地方获取 SDK 代码)

于 2012-12-30T21:58:50.713 回答
0

如果您还没有回滚,看起来 IAB V3 现在开始支持订阅

http://developer.android.com/google/play/billing/billing_overview.html

于 2013-02-15T09:18:44.253 回答