亚马逊在应用中购买

时间:2013-07-17 07:38:08

标签: in-app-purchase amazon

尝试在我的亚马逊Android应用中实现应用内购买。找到了这个教程

http://www.techotopia.com/index.php/A_Simple_Amazon_In-App_Purchasing_Example_Application#Creating_the_Example_Application

这就是我实施的内容

我的应用程序中有一个名为PurchaseActivity的活动,其中包含一个解锁按钮。

首先,我更新了清单并添加了收件人代码。

接下来,在我的src中创建了一个InAppObserver.java类,它扩展了PurchaseActivity。

接下来,Inside PurchaseActivity添加了onstart和onresume方法。 (这是根据logcat给出的错误)

在strings.xml中添加了consumable_sku字符串

使用以下代码更新了onstart方法:

 Set<String>skuList = new HashSet<String>(1);
 skuList.add(getResources().getString(R.string.consumable_sku));
 PurchasingManager.initiateItemDataRequest(skuList);

在我创建的InAppObserver.java类中添加了ItemDataResponse代码。

在PurchaseActivity中添加了makePurchase功能,点击解锁按钮时会调用该功能。

最后在InAppObserver.java类中添加了PurchaseResponse方法。

但是,我的应用在启动PurchaseActivity之前崩溃,产生以下错误: com.xyz.xyz.InAppObserver上的java.lang.NoClassDefFounderror

我是第一次尝试这个,抱歉英语不好以及问题的长度。

1 个答案:

答案 0 :(得分:0)

我无法确定问题是什么。我想你可能不得不发布更多代码。但是,这里有几个问题(我认为这两个问题都没有引起你的问题,但它们可能值得尝试)。

  • 您说InAppObserver扩展了PurchaseActivity。错字?它应该扩展到PurchasingObserver或BasePurchasingObserver
  • 您可以在onStart中立即调用itemGetDataRequest。一个更好的序列是
    • onStart调用registerObserver
    • (观察者)onSdkAvailable调用initiateGetUserIdRequest
    • (观察员)onGetUserIdResponse调用initiatePurchaseUpdatesRequest - 你这叫吗?
    • (观察员)purchaseUpdatesResponse调用initiateItemDataRequest(如果尚未购买升级)

总的来说,我对你所链接的教程印象不深 - 可能只想使用亚马逊文档。