【问题标题】:Testing in-app purchases in Kindle Fire application在 Kindle Fire 应用程序中测试应用内购买
【发布时间】:2012-05-10 20:40:37
【问题描述】:

即使使用 Amazon Appstore SDK Tester,我也无法在应用购买中进行测试。

public void onPurchaseResponse(final PurchaseResponse purchaseResponse)

purchaseResponse 总是有“INVALID_SKU”,即使我有带有假 JSON 的 amazon.sdktester.json 文件。

文件内容: { “测试” : { "itemType": "消耗品", “价格”:0.99, "title": "更多点击!", "description": "再点击你的按钮十次!", “smallIconUrl”:“http://www.google.com/images/srpr/logo3w.png” },

"com.amazon.buttonclicker.ten_clicks" : {
    "itemType": "CONSUMABLE",
    "price": 0.99,
    "title": "More Clicks!",
    "description": "Click your button ten more times!",
    "smallIconUrl": "http://www.google.com/images/srpr/logo3w.png"
  },

  "com.amazon.buttonclicker.blue_button" : {
    "itemType": "ENTITLED",
    "price": 0.99,
    "title": "Blue Button",
    "description": "Button Clicker - Now in Blue!",
    "smallIconUrl": "http://www.google.com/images/srpr/logo3w.png"
  }
}

即使是示例应用程序也不起作用。 您对如何测试应用程序有任何建议吗? Amazon SDK Tester 似乎没有拦截请求。

【问题讨论】:

  • 新手问题:您是否必须在 Amazon Developer Portal 中使用其 SKU 注册示例应用程序和 IAP 项目才能使其工作?

标签: testing in-app-purchase kindle-fire


【解决方案1】:

这是我如何让应用内购买在 Kindle Fire 上工作(经过几个小时的努力......)

  1. adb install AmazonSDKTester.apk(在 Kindle Fire 上安装 SDKTester)
  2. 在 SDCARD 目录中创建文件 amazon.sdktester.json(连接的 KF 在 Mac 上的 Finder 中显示为 SDCARD)
  3. amazon.sdktester.json 的内容 - { “com.yourcompany.yourpkgname.200_coins”:{ "itemType": "消耗品", “价格”:0.99, "title": "200 金币", “描述”:“2个硬币”, "smallIconUrl": "http://www.yourcompany.com/icon.png" } }
  4. 按下 KF 上的电源按钮并按下“断开连接”按钮 - 现在 KF 不再是您 Mac 上安装的驱动器。
  5. 在 KF 上运行 AmazonSDKTester 应用程序。
  6. 从 Eclipse 运行您的应用程序。确保 JSON 中的包名称与亚马逊网站上的应用内商品 SKU 以及 PurchasingManager.initiatePurchaseRequest("com.yourcompany.yourpkgname.200_coins");
  7. 现在您应该会看到应用内插页式广告出现了。
  8. 仍然无法正常工作 - 在 KF 上强制关闭您的应用程序和 AmazonSDKTester;硬复位 KF ;重启 Eclipse 并从第 1 步重启

【讨论】:

  • 我如何检测应用程序是否已经购买,就像在 Play 商店中查询库存一样
  • 另外值得一提的是,IAP v2 仅适用于通过亚马逊商店分发的 AmazonSDKTester。我花了一段时间才找到它。感谢此链接:forums.developer.amazon.com/forums/thread.jspa?threadID=3735(在已知问题和有用说明 v2 下)。虽然文档在我看来不一致且支离破碎。
【解决方案2】:

不要忘记 json 中的外层 {} 大括号。 我花了 3 个小时才弄明白...

【讨论】:

    【解决方案3】:

    这看起来很神奇,但硬重置解决了我所有的问题。

    【讨论】:

    • 此处相同:我能够测试消耗品和订阅,但无法使用 App Tester 重置所有内容以从头开始。强制关闭 + 清除数据 -> 修复它!
    【解决方案4】:

    确保在将 USB 电缆连接到 PC 后点击断开按钮,否则 SDK 测试器将无法读取您移动过来的 JSON 文件,因为此时设备已安装。好不容易才发现的。

    【讨论】:

    • 我也遇到了这个问题,如果我没记错的话,我将 JSON 文件移过来,强制关闭 SDK 测试器,重新打开它,然后测试我的应用程序。我记得它确实看起来有点不稳定。
    【解决方案5】:

    我遇到了和你一样的问题,关键是:在你的java代码中,你的item id必须等于你在json文件中的SKU,在这种情况下,它必须是:com.amazon.buttonclicker.ten_clicks或@987654322 @ 这是亚马逊提供的SampleIAPConsumablesAppSampleIAPEntitlementsApp示例项目的示例json文件:

    {
    "com.amazon.sample.iap.consumable.orange" : {
    
        "itemType": "CONSUMABLE",
    
        "price": 0.99,
    
        "title": "More Clicks!",
    
        "description": "Click your button ten more times!",
    
        "smallIconUrl": "http://some/image.jpg"
    
      },
    
      "com.amazon.sample.iap.entitlement.level2" : {
    
        "itemType": "ENTITLED",
    
        "price": 0.99,
    
        "title": "Blue Button",
    
        "description": "Button Clicker - Now in Blue!",
    
        "smallIconUrl": "http://some/image.jpg"
    
      }
    }  
    

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-08
      • 1970-01-01
      • 1970-01-01
      • 2012-01-08
      • 1970-01-01
      相关资源
      最近更新 更多