2012-12-30 45 views
1

如果其他人遇到同樣的問題,我會給出相當長的解釋...如何退出應用內結算版本3併爲Android應用內結算訂閱安裝IAB V2?

我在我的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。

+0

哇,你說的測試帳戶IAB 3 supoorts訂閱,但生產版本不?測試帳戶中的「一切正常」如何? – Ameen

+0

Brian的右側V3僅支持'被管理產品' – Blundell

回答

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

有替代選擇,在谷歌播放演示,我的教程是一個他們:-)

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

和機器人的媒體有一個庫:

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

(我的意思是你可以從SDK-經理等地分開SDK代碼)

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(); 
      } 
     } 
    } 
    }; 
+0

從v2遷移到v3時,是否正在改變aidl唯一的區別?將v2遷移到v3時需要考慮什麼? – Ads

相關問題