2

现在,我设法签署了 apk(使用 Eclipse Android 工具)并adb install ..在设备上进行了测试。

但这删除了调试功能,例如“越过”,这使问题跟踪变得更加困难。

是否可以使用 Eclipse 调试应用内计费?

4

3 回答 3

3

不幸的是,我认为没有任何方法可以逐步调试,我一直在使用打印输出。这是因为您必须使用发布密钥签署您的应用程序,以便它与计费服务正确通信。很烦人。

于 2012-06-25T18:10:37.730 回答
2

当您浏览应用内计费文档时,您会意识到理解这项复杂的技术可能需要大量时间。大多数开发人员都觉得需要一个可以工作的 HelloWorld,然后再尝试构建。

我上传了 2 个项目

  1. 安卓示例项目。您可以下载此项目,并立即运行示例。这将帮助您快速调试/跟踪并了解应用内计费的工作方式。

  2. 一个清理过的项目,可帮助您快速集成您的应用程序。这可以像图书馆一样提供帮助。只需在“结帐”按钮操作中集成“购买请求”即可。

请注意:我没有纳入安全建议。在应用计费文档中阅读 android。在此之前,您将自担风险。

为 1

  • 下载“<a href="http://www.4shared.com/file/f5wH3qke/InAppBilling1.html" rel="nofollow">http://www.4shared.com/file/f5wH3qke/InAppBilling1.html”< /li>
  • 为所有通信创建一个新的 gmail 帐户(为什么,我将在下面解释)
  • 支付 25 美元并购买一个“市场”帐户。
  • 将项目导入你的eclipse环境
  • 创建一个签名的应用程序apk,文件-导出-选择您的项目-创建或使用密钥库,从今天起应该有效期为25年。
  • 将签名的 apk 作为“草稿应用程序”上传到市场,请勿发布。
  • 对于上传的 apk,您需要添加“In App Products”。您将在您上传的 apk 的主页上找到此链接。
  • 在 Security.java 中不要忘记从您的市场帐户“编辑个人资料”页面添加您的“公钥”。
  • 在“In App Product List”中,需要一一添加以下产品
    • 以下文本应用作“应用内产品 ID”</li>
    • Sword_001 作为托管
    • potions_001 作为非托管
    • 标题和描述无关紧要(用于测试目的)。在此处添加您需要的内容。
    • 成本加 1 美元(最低)
  • 点击自动填充
  • 节省

发布应用内项目(这里不要混淆,您只需要发布应用内产品,而不是应用程序)

  • 在测试帐户中,在此处添加您的个人 gmail id。现在,需要将此 gmail 帐户配置为您手机上的第一个 gmail 帐户。
  • 是的,这不会在你的模拟器上工作
  • 现在示例应用程序应该可以工作了。

为 2

下载“<a href="http://www.4shared.com/file/h8YnJyf_/InAppBillingIntegration.html" rel="nofollow">http://www.4shared.com/file/h8YnJyf_/InAppBillingIntegration.html”< /p>

要集成,请在您的调用活动中初始化结帐代码

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

发送您的产品的结帐请求

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

重要的提示 :

  • 此 purchaseUri 是您在“<strong>ma​​rket.android.com/publish-->创建新的应用内产品”选项中的资源的“<strong>应用内产品 ID”。此字符串应设置为“<strong>in app product”id。
  • 这就是为什么“<strong>id”是最重要的。“<strong>应用内产品 ID”是您引用该特定产品的方式。
  • 此外,在 Security.java 中不要忘记从您的市场帐户“<strong>编辑个人资料”页面添加您的“<strong>公钥”。**

调试说明

  • LogCat 将所有错误显示为 InAppBilling 标签
  • 这个项目创建了一个名为“inappbilling”的shared_preferences并且debug设置为true
  • 由于该项目没有主屏幕,因此可能不需要 androidmanifest.xml。

为什么我们需要创建一个新的 gmail 帐户?

简单的。您购买市场帐户的帐户不能用于“测试”您的应用内计费。因为您不能为自己购买产品。并且您设备上的主要帐户应设置为市场帐户上的“测试帐户”。鸡蛋问题在这里。希望它清楚。

我来自“<a href="http://crazyviraj.blogspot.com/2011/06/some-notes-on-implementing-in-app.html" rel="nofollow">http:// 的一个有趣的博客crazyviraj.blogspot.com/2011/06/some-notes-on-implementing-in-app.html“(不是我的)。

于 2012-06-25T19:58:47.103 回答
-1

在我的应用程序中,我使用了测试产品 ID,android.test.purchased它将模拟实际的购买过程(即,将显示应用程序内对话框,您将能够购买并获得可由您的应用程序处理的响应)。使用该产品 ID,您可以通过 Eclipse 通过 USB 连接在设备上运行应用内代码(未签名)。您可能仍然需要解决一些测试问题(即,考虑到您使用的是测试产品 ID 而不是您的真实 ID),但我发现使用该产品 ID 确实对我有很大帮助。

请参阅应用内计费指南的测试部分

于 2012-06-25T19:14:38.157 回答