簡體   English   中英

使用Eclipse調試Android inapp結算

[英]Debug Android inapp billing using Eclipse

現在,我設法對apk進行了簽名(使用Eclipse Android Tools),並將adb install ..簽名到設備上進行測試。

但這消除了調試功能,例如“單步執行”,這使查找問題變得更加困難。

是否可以使用Eclipse調試inapp結算?

不幸的是,我認為沒有任何方法可以進行逐步調試,我一直在使用打印輸出。 這是由於您必須使用釋放密鑰對應用程序進行簽名,才能使其與計費服務正確通信。 很煩人。

當您查看應用內結算文檔時,您會意識到理解這一復雜技術需要花費大量時間。 大多數開發人員都覺得需要一個可運行的HelloWorld,然后再進行構建。

我上傳了2個項目

  1. android示例項目。 您可以下載此項目,然后立即運行示例。 這將幫助您快速調試/跟蹤並找出應用內結算的工作方式。

  2. 已清理的項目可幫助您快速集成應用程序。 這可以像圖書館一樣提供幫助。 只需集成您的“結帳”按鈕操作即可發出“購買請求”。

請注意:我尚未納入安全建議。 閱讀應用帳單文檔中的android。 在此之前,您需要自己承擔風險。

對於1

  • 下載“ http://www.4shared.com/file/f5wH3qke/InAppBilling1.html
  • 為所有信件創建一個新的Gmail帳戶(為什么,我將在下面解釋)
  • 支付那25美元並購買一個“市場”帳戶。
  • 將項目導入到Eclipse環境
  • 創建一個簽名的應用程序apk,“文件導出”-“選擇項目”-“創建”或“使用密鑰庫”,它的有效期為即日起25年。
  • 將簽名的apk作為“草稿應用”上載到市場,請勿發布。
  • 對於上傳的apk,您需要添加“ In App Products”。 您會在首頁上找到您上傳的APK的鏈接。
  • 在Security.java中,請不要忘記從市場帳戶的“編輯個人資料”頁面添加“公鑰”。
  • 在“應用內商品列表”中,您需要一一添加以下產品
    • 以下文字應用作“應用內商品ID”
    • sword_001為托管
    • potions_001為不受管理
    • 標題和說明無關緊要(出於測試目的)。 在此處添加您所需的內容。
    • 加價1美元(最低)
  • 點擊自動填充

發布應用內項目(不要在這里感到困惑,您只需要發布應用內產品,而不是應用)

  • 在測試帳戶中,在此處添加您的個人gmail ID。 現在,此gmail帳戶需要配置為手機上的第一個gmail帳戶。
  • 是的,此WONT可在您的模擬器上運行
  • 現在,示例應用程序應該可以運行了。

對於2

下載“ http://www.4shared.com/file/h8YnJyf_/InAppBillingIntegration.html

為了整合,在您的通話活動中初始化結帳代碼

Handler handler = new Handler() ;
CheckoutPurchaseObserver checkout = new CheckoutPurchaseObserver(this, handler);

發送產品的結帳請求

checkout.sendCheckoutRequest(purchaseUri.toString(),null);

重要的提示 :

  • PurchaseUri是“ market.android.com/publish->創建新的應用內商品 ”選項中資源的“ 應用內商品ID ”。 此字符串應設置為“ 應用內商品 ” ID。
  • 這就是為什么“ id ”最重要的原因。 應用內商品ID ”是您指代該特定商品的方式。
  • 此外,在Security.java中,請不要忘記從市場帳戶的“ 編輯個人資料 ”頁面添加“ 公共密鑰 ”。**

調試說明

  • LogCat將所有錯誤顯示為InAppBilling標記
  • 該項目創建一個名為“ inappbilling”的shared_preferences,並將debug設置為true
  • 由於此項目沒有主屏幕,因此可能不需要androidmanifest.xml。

為什么我們需要創建一個新的Gmail帳戶?

簡單。 您購買的市場帳戶無法用於“測試”應用內結算。 由於您無法自己購買產品。 並且設備上的主要帳戶應設置為市場帳戶上的“測試帳戶”。 雞蛋問題在這里。 希望它清除。

我的有趣博客來自“ http://crazyviraj.blogspot.com/2011/06/some-notes-on-implementing-in-app.html ”(不是我的)。

在我的應用程序中,我使用了測試產品ID android.test.purchased ,它將模擬實際的購買過程(即,將顯示應用程序內對話框,您將能夠購買並獲得可通過以下方式處理的回復:你的申請)。 使用該產品ID,您可以通過USB連接上的Eclipse在設備上運行應用內代碼(未簽名)。 您可能仍需要解決一些測試問題(即,考慮到您使用的是測試產品ID,而不是真實的ID),但是我發現使用該產品ID確實對我有很大幫助。

請參閱應用內結算指南中的“ 測試”部分

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM