65.9K
CodeProject 正在变化。 阅读更多。
Home

开始使用 Amazon 应用内购买 API

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2013年4月7日

CPOL

3分钟阅读

viewsIcon

17638

Amazon应用内购买API使您可以轻松地在您的应用程序中提供数字内容和订阅服务——例如游戏币、扩展包、升级、杂志期刊等等,供用户购买。

引言

Amazon应用内购买API使您可以轻松地在您的应用程序中提供数字内容和订阅服务——例如游戏币、扩展包、升级、杂志期刊等等,供用户购买。只需几分钟即可启动并运行,让数百万 Amazon 客户能够使用他们的 Amazon 1-Click 设置购买引人入胜的数字内容。

应用内购买API旨在封装购买流程背后的复杂性,同时仍然提供功能齐全的API集。 该API使用以下对象来完成应用内购买交易

  • 购买管理器 - 用于启动API请求
  • 购买观察者 - 处理API响应回调
  • 响应接收器 - 方便从Amazon客户端到购买观察者的回调
  • 收据验证服务 - 用于在您的应用程序外部验证收据的可选服务

下图概述了购买序列中涉及的步骤

 

图1:应用内购买API

最简单的实现可以在以下 5 个步骤中完成。

1. 更新 Android Manifest

为了接收来自 Amazon 客户端的回调,您需要将以下行添加到 AndroidManifest.xml 文件的 <application> 部分。

   <application>
   .
   .
   .
       <receiver android:name = "com.amazon.inapp.purchasing.ResponseReceiver" >
           <intent-filter>
               <action android:name = "com.amazon.inapp.purchasing.NOTIFY"
                   android:permission = "com.amazon.inapp.purchasing.Permission.NOTIFY" />
           </intent-filter>
      </receiver>
  .
  .   
  .
  </application>

阅读有关响应接收器的更多信息

2. 实现购买观察者

购买观察者监听通过购买管理器启动的回调。观察者应该扩展 BasePurchasingObserver 类,允许您只覆盖您需要的回调方法。

至少,您需要处理用于检索项目数据和启动购买请求的回调。您可以在应用程序的活动中创建购买观察者类。

private class MyObserver extends BasePurchasingObserver {

  public MyObserver() {
   
        super(MainActivity.this);

  }

  @Override
  public void onItemDataResponse(ItemDataResponse itemDataResponse) {

      //Check itemDataResponse.getItemDataRequestStatus();
      //Use itemDataResponse to populate catalog data

  }

  @Override
  public void onPurchaseResponse(PurchaseResponse purchaseResponse) {

      //Check purchaseResponse.getPurchaseRequestStatus();
      //If SUCCESSFUL, fulfill content;

  }
} 
 

阅读有关购买观察者的更多信息

3. 注册购买观察者

您需要向购买管理器注册您的购买观察者,以便您的观察者可以监听回调。这应该在您的应用程序的 onStart 方法中完成。

  protected void onStart() {
  super.onStart();
  PurchasingManager.registerObserver(new MyObserver());
  };
 

阅读有关注册购买观察者的更多信息

4. 启动应用内购买

注册您的观察者后,您可以开始使用购买管理器来启动项目数据请求和购买请求。该API管理购买流程以及您的应用程序的所有客户互动。

使用购买管理器通过 initiateItemDataRequest 方法请求您的 SKU 的项目数据

  PurchasingManager.initiateItemDataRequest("DeveloperSKU-1234"); 

使用购买管理器通过 initiatePurchaseRequest 方法启动您的 SKU 的购买请求

private OnClickListener purchaseClickListener = new OnClickListener() {

  public void onClick(View v) {
      String requestId = PurchasingManager.initiatePurchaseRequest("DeveloperSKU-1234");
  }
}; 
 

阅读有关购买管理器的更多信息

5. 处理响应通知

在启动购买请求调用后,购买观察者将收到一个回调,其中包含与该请求匹配的响应对象。您的应用程序需要处理回调中收到的响应对象,并将内容提供给用户。此实现将特定于您的应用程序。此时,您的基本实现已完成,您可以开始使用 SDK Tester App 进行测试。

要了解有关 Amazon 应用内购买 API 的更多信息,请单击此处。我们还为 Eclipse 创建了一个插件,以加快开发速度并减少项目设置时间。有关 Amazon Mobile App SDK Eclipse 插件的更多信息,请单击此处

本文经 Amazon Digital Services, Inc. 许可转载。

© . All rights reserved.