IAP 入门


IAP 入门

如果您从未使用过亚马逊应用内购买 SDK,或以前从未实现过 IAP API,则本页将帮助您设置 IDE 并熟悉为 IAP 推荐的开发、测试和提交工作流程。

为简便起见,本主题将指导您将 IAP 示例应用导入您的 IDE 中,而不是从头开始新项目,因为大多数开发者更喜欢从示例开始。要更详细地了解如何实际实现 IAP API 本身,请参阅实现 IAP

IAP 电子书 详细描述了创建支持 IAP 的 Android 应用所需的步骤。

下载 SDK

如果您尚未将 Amazon Android SDK 下载到您的计算机上,请进行下载:

Amazon Android SDK 下载(在 SDK 下载页面上,单击 Android 链接)。

解压缩文件后,IAP SDK 文件包含在名为 AmazonInAppPurchasing 的文件夹中。

设置您的开发环境: Android Studio

如果使用 Android Studio 作为您的 IDE,您仍可以导入示例项目,将它们导出为 APK 并在 Android 设备上运行它们。

设置您的 Android Studio 开发环境以使用 IAP 示例应用:

  1. Amazon-Android-SDKs.zip 文件的内容解压缩到您的本地计算机上的某个位置。
  2. 启动 Android Studio。
  3. 将 IAP 示例应用导入您的工作区中:

    1. 在“Welcome to Android Studio”(欢迎使用 Android Studio)屏幕上,选择 Import Project (Eclipse ADT, Gradle, etc.)​(导入项目(Eclipse ADT、Gradle 等))以打开项目导入窗口。
    2. 在“Select Eclipse or Gradle Project to Import”(选择要导入的 Eclipse 或 Gradle 项目)窗口中,导航到您将 Amazon-Android-SDKs.zip 文件的内容解压缩到的位置,然后导航到并选择 /AmazonInAppPurchasing/examples
    3. 选择三个 IAP 示例项目之一的目录,然后单击 OK(确定)来转至“Import Project from ADT”(从 ADT 导入项目)屏幕。
    4. 在“Import Project from ADT”(从 ADT 导入项目)屏幕上,选择目标目录,然后单击 Next(下一步)。
    5. 在后面的屏幕上,保留选中所有默认设置,然后单击 Finish(完成)来导入 IAP 示例应用项目。
    6. 对每个示例应用重复这些步骤。
  4. 添加 IAP 2.0 JAR/库文件:
    1. 在 Android Studio 的左上角(您的项目的选项卡下方),从下拉菜单中选择 Project(项目)(其他选项是 AndroidPackages(程序包))以显示您的项目的目录树。
    2. 在您的项目的 app 目录下,创建新目录并将其命名为“libs”。
    3. 将​ IAP 2.0 JAR 文件复制到您的新 libs 目录中。

      如果您使用的是 Mac,请右键单击 libs 文件,然后从上下文菜单中选择 Reveal in Finder(在 Finder 中显示)。然后,您将能够将 AmazonInAppPurchasing 中的 IAP 2.0 JAR 文件复制到您的新 libs 目录中。当目录刷新时,您将在 Android Studio 中的此目录中看到此文件。

    4. 右键单击 IAP 2.0 JAR 文件,然后选择 Add as Library…(添加为库…)

      IAP 库将添加到您的项目的 gradle 依赖项列表中。您现在应该能够成功构建示例应用项目。

      注意:​ 如果您更喜欢使用 gradle 来添加库,请打开您的 build.gradle 文件并将以下代码添加到此文件的依赖项部分中,然后单击您的 build.gradle 文件顶部的 Sync Now(立即同步)链接来同步您的更改:

      dependencies {

      ...

      compile fileTree(dir: 'libs', include: ['*.jar'])

      }

    5. 对每个示例应用项目重复这些步骤。
  5. 为其中一个示例应用生成 APK:
    1. 将您的 Android 移动设备连接到您的开发计算机。
    2. 在 Android Studio 中,单击 Debug(调试),然后选择您的正在运行的设备来将应用安装到该设备。

注意:​ 在 Android Studio 中将 Javadoc 添加到您的项目中目前不适用于 Amazon Android SDK,因为 Android Studio 要求 Javadoc 可作为自己的 JAR 文件提供,这目前无法作为此 SDK 的一部分提供。

您现在应该能够在移动设备上运行此示例应用。

请注意,在将您的实际应用提交到 Amazon Appstore 时,亚马逊签名将应用于您的应用,无论您提交的是已签名还是未签名的 APK。

排除 R8 优化

Android Studio 的最新更新(使用 Gradle 3.4.0 或更高版本)应用了来自 R8 编译器的默认优化,该优化当前导致 IAP 购买在 Amazon Appstore 中失败。根据 Android 文档:

收缩、模糊处理和优化您的应用

当您使用 Android Gradle 插件 3.4.0 或更高版本构建项目时,该插件不再使用 ProGuard 执行编译时代码优化。相反,该插件与 R8 编译器一起工作来处理以下编译时任务。
您可以通过 ProGuard 规则文件禁用某些任务或自定义 R8 的行为。事实上,R8 与您现有的所有 ProGuard 规则文件一起工作,因此更新 Android Gradle 插件以使用 R8 不应要求您更改现有规则。

如果您的应用使用了应用内购买 API,您需要将以下行添加到 ProGuard 配置文件 (proguard-rules.pro) 以确保 R8 不会干扰应用内购买 API:

-dontwarn com.amazon.**
-keep class com.amazon.** {*;}
-keepattributes *Annotation*

有关更多信息,请参阅 模糊处理您的 Android 应用代码

设置 App Tester

注意:​ 在开始任何实际测试之前,请了解您的 IAP 测试选项和建议的测试过程。请参阅测试应用内购买 (IAP)

亚马逊提供了 App Tester 工具来对 IAP 执行单元测试。您可以使用 IAP 示例应用来测试此工具。

安装 App Tester 并使示例应用运行在 App Tester 上:

  1. 按照安装并配置 App Tester 中的说明操作。
  2. 从示例应用中,使用 adb push 命令,将 amazon.sdktester.json 文件复制到您的设备上的 /mnt/sdcard/amazon.sdktester.json 路径:

    $ adb push <_Your_JSON_File_Folder_>/amazon.sdktester.json /mnt/sdcard/

  3. 按照 App Tester 用户指南中的说明操作来了解有关使用 App Tester 测试应用的更多信息。如果您需要帮助设置要使用 App Tester 进行检查的测试案例,请参阅为 IAP 定义并执行测试案例

提交应用和应用内项目

测试完您的应用后,可以将您的应用和应用内项目提交给亚马逊。

请参阅创建并提交 IAP 项目