0

试图在我的亚马逊安卓应用中实现应用内购买。找到这个教程

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

我第一次尝试这个,对不起英语不好和问题的长度。

4

1 回答 1

0

我不能确定问题是什么。我认为您可能不得不发布更多代码。但是,这里有几个问题(我认为这两个问题都不会导致您遇到的问题,但它们可能值得尝试)。

  • 你说 InAppObserver 扩展了 PurchaseActivity。错字?它应该扩展 PurchasingObserver 或 BasePurchasingObserver
  • 您在 onStart 中立即调用 itemGetDataRequest。更好的顺序是
    • onStart 调用 registerObserver
    • (观察者) onSdkAvailable 调用initialGetUserIdRequest
    • (观察者) onGetUserIdResponse 调用initialPurchaseUpdatesRequest - 你叫这个吗?
    • (观察者)purchaseUpdatesResponse 调用initialItemDataRequest 如果升级还没有被购买

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

于 2013-07-17T15:46:56.900 回答