2012-08-10 92 views
4

我已經在我的帳戶中使用靜態回覆ID android.test.purchased實施了應用內購買。現在,當購買項目a Toast彈出窗口說「謝謝你的項目將很快出現。」Android In App購買問題

我認爲到目前爲止,每件事情都很完美。

我的問題是

  • Toast從哪裏來。我找不到我的代碼。
  • 我怎樣才能覆蓋這個吐司?是否因爲我使用了Reserved product ID?一旦我使用我自己的產品ID,它會改變嗎?
  • 應該使用哪個重寫函數來知道用戶是否已經購買或取消了請求。

    @Override 
        public void onPurchaseStateChange(PurchaseState purchaseState, String itemId, 
          long purchaseTime, String developerPayload) {  
         if (purchaseState == PurchaseState.PURCHASED) {    
          // Is it here? 
         } 
        } 
    

  • 最後,我可以進行內onPurchaseStateChange用戶界面的修改?
  • 這裏是我的onPurchaseStateChange梅索德

    @Override 
        public void onPurchaseStateChange(PurchaseState purchaseState, String itemId, 
          long purchaseTime, String developerPayload) { 
         if (Consts.DEBUG) { 
          Log.i(TAG, "onPurchaseStateChange() itemId: " + itemId + " " + purchaseState); 
         }    
         if (purchaseState == PurchaseState.PURCHASED) { 
          for (CatalogEntry e : CATALOG) { 
           if (e.sku.equals(itemId) && 
             e.managed.equals(Managed.SUBSCRIPTION)) { 
           } 
          } 
         } 
         Toast.makeText(getApplicationContext(), "purchase failed", Toast.LENGTH_LONG).show(); 
        } 
    

    任何幫助將不勝感激! :) 謝謝!

    +1

    http://stackoverflow.com/questions/8399963/android-in-app-billing-remove-default-toast-message – user1378730 2012-08-17 06:20:45

    +0

    該鏈接現在返回404。有誰知道如何刪除吐司消息?或者可以指向正確的鏈接。 – marcel 2013-03-21 14:44:03

    +0

    引用此鏈接,它可能會幫助你。 http://stackoverflow.com/questions/14197295/how-to-change-toast-message-that-c​​omes-after-successfull-purchase-of-a-product-i – 2013-03-22 05:42:37

    回答

    2

    首先敬酒來自市場活動。 user1378730在評論中發佈的鏈接解釋了它被刪除的方式。

    如您所做的那樣確定onPurchaseStateChange中的購買結果是正確的,purchaseState對象具有多個您可以檢查的枚舉。

    我不會建議在onPurchaseStateChange方法中執行界面交互,因爲它可能會在購買完成時多次調用。我從我的活動中跳出一些自定義的方法來決定做什麼,例如,一個onPurchaseCancelonPurchaseSuccess方法,可以告訴它是否已經運行它自己。這樣做也可以讓您將市場交互與其他代碼流分離開來,使調試變得更容易。

    +0

    感謝您的答覆。第一部分現在已經清楚了。其次,我使用保留的購買ID「android.test.purchase」進行測試。我已經在'onPurchaseStateChange'方法中加入了Toast消息。但沒有顯示。是否因爲我使用了保留的ID? – 2012-08-17 09:07:24

    +0

    你仍然應該看到你自己的敬酒。你在什麼環境下進行敬酒,這是活動或某個習俗班的背景嗎?另外請確保您在祝酒上有.show方法! – melodiouscode 2012-08-17 11:04:13

    +0

    沒有兄弟,我沒有得到我的代碼中添加的吐司。我在問題中加入了'onPurchaseStateChange'。你可以經歷這個。 – 2012-08-17 16:42:09