使用Eclipse调试Android inapp计费

时间:2012-06-25 16:57:36

标签: android eclipse in-app-billing

现在我设法将apk(使用Eclipse Android Tools)和adb install ..签名到设备进行测试。

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

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

3 个答案:

答案 0 :(得分:3)

不幸的是我认为没有任何方法可以进行调试,我刚刚使用了打印输出。这是因为您必须使用发布密钥对应用进行签名才能使其与结算服务正常通信。非常烦人。

答案 1 :(得分:2)

当您浏览应用内结算文档时,您意识到需要花费大量时间来理解这一复杂的技术。大多数开发人员认为需要一个有效的HelloWorld,然后再使用这些版本。

我上传了2个项目

  1. android示例项目。您可以下载此项目,并立即运行该示例。这将帮助您快速调试/跟踪直通并确定应用内结算的工作方式。

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

  3. 请注意:我没有纳入安全建议。阅读Android应用程序结算文档。在此之前,您将自行承担风险。

    1

    • 下载“http://www.4shared.com/file/f5wH3qke/InAppBilling1.html
    • 为所有通信创建一个新的Gmail帐户(为什么,我将在下面解释)
    • 支付25美元并购买“市场”帐户。
    • 将项目导入日食环境
    • 创建已签名的应用程序apk,文件导出 - 选择您的项目 - 创建或使用密钥库,它应该有效期为25年。
    • 将签名的apk上传到市场,作为“草案申请”,不要发布。
    • 对于上传的apk,您需要添加“In App Products”。您可以在主页上找到上传的apk链接。
    • 在Security.java中,不要忘记从您的市场帐户“编辑个人资料”页面添加“公钥”。
    • 在“In App Product List”中,您需要逐个添加以下产品
      • 以下文字应用作“In app Product id”
      • sword_001 as Managed
      • potions_001 as Unmanaged
      • 标题和描述无关紧要(用于测试目的)。在这里添加你需要的东西。
      • 费用加1 $(最低)
    • 点击自动填充
    • 保存

    发布应用内项目(不要在这里混淆,你只需要发布应用内产品,而不是APP)

    • 在测试帐户中,在此处添加您的个人Gmail密码。现在,需要将此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 ” >“选项。此字符串应设置为“ in app product ”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”(不是我的)。

答案 2 :(得分:-1)

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

请参阅应用内结算指南的testing部分