亚马逊应用商店计费兼容性SDK
如果您现有的Android应用已与Google Play结算库集成,则可使用亚马逊应用商店计费兼容性SDK,只需进行极少的更改即可将应用移植到亚马逊应用商店。SDK支持消费品、权利和订阅应用内购买 (IAP)。亚马逊应用商店计费兼容性SDK与Google Play结算库4.0、5.0、6.0和7.0版本兼容。
下表显示了Google Play结算库、亚马逊应用商店SDK和亚马逊应用商店计费兼容性SDK之间的功能比较。
| 功能 | Google Play结算库 | 亚马逊应用商店SDK | 亚马逊应用商店计费兼容性SDK |
|---|---|---|---|
| 订阅 | 是 | 是 | 是 |
| 权利 | 是 | 是 | 是 |
| 消费品 | 是 | 是 | 是 |
| 数字版权管理 (DRM) | 否 | 是 | 是 |
集成亚马逊应用商店计费兼容性SDK
按照此分步指南,将亚马逊应用商店计费兼容性SDK与您的应用集成。
步骤1.将SDK添加至您的应用
亚马逊应用商店计费兼容性SDK可通过Maven Central分发。要将亚马逊应用商店计费兼容性SDK添加到您的应用,请在build.gradle文件的依赖项部分添加以下代码。
dependencies {
...
implementation 'com.amazon.device:appstore-billing-compatibility:4.2.0'
...
}
如果项目的顶级build.gradle没有定义Maven Central存储库,请务必添加该库:有关添加Maven Central存储库的更多详细信息,请参阅管理远程存储库。
关于依赖项的注意事项
- 如果您的代码库中存在任何亚马逊应用商店SDK依赖项,请将其移除。
- 也可从应用中移除Google Play结算库依赖项。
步骤2:使用公钥配置您的Android应用
每个应用的公钥都是唯一的,它会在亚马逊应用商店和您的应用之间建立起安全的通信渠道。当您在亚马逊开发者控制台中生成公钥时,亚马逊会生成相应的私钥。这些公钥和私钥会构成密钥对,用于签署许可证响应。通过这种密钥配对,您可以确保应用仅限授权用户安装。
要使用公钥配置您的Android应用,请执行以下操作:
- 使用开发者账户登录开发者控制台。
- 从导航栏中选择我的应用。如果您已有应用,请找到您的应用,展开该行,然后选择View (查看)以打开应用详情页。否则,请单击添加新应用按钮以创建新应用,然后填写“新应用提交”页面。
- 前往上传您的应用文件屏幕上的其他信息部分。
- 单击查看公钥。
- 在显示的“公钥”对话框中,单击AppstoreAuthenticationKey.pem链接,下载PEM文件。该文件包含您的公钥。
- 复制AppstoreAuthenticationKey.pem文件。将其粘贴到您的Android应用项目的app/src/main/assets文件夹中。如果没有该文件夹,请创建该文件夹。
也可移除Google Play结算公钥依赖项。
步骤3:使用接收器配置AndroidManifest.xml文件
亚马逊应用商店计费兼容性SDK以异步方式执行其所有活动。应用需要通过BillingResponseReceiver类从亚马逊应用商店接收广播意图。在应用中,此类从不被直接使用,但要让应用能够接收意图,就必须在清单中添加BillingResponseReceiver条目。
以下示例代码展示了如何在亚马逊应用商店计费兼容性SDK的AndroidManifest.xml文件中添加BillingResponseReceiver。如果您的应用以Android 12或更高版本为目标,则必须在MainActivity和ResponseReceiver中显式地将android:exported设置为true。
<application>
...
<activity android:name="com.amazon.sample.iap.entitlement.MainActivity"
android:label="@string/app_name" android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.amazon.device.iap.billingclient.api.BillingResponseReceiver" android:exported="true"
android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY">
<intent-filter>
<action android:name="com.amazon.inapp.purchasing.NOTIFY" />
</intent-filter>
</receiver>
...
</application>
步骤4:更新导入声明
通过找出所有使用com.android.billingclient.api前缀之处并将其替换为com.amazon.device.iap.billingclient.api前缀,更新应用代码库中的Google Play结算导入,以使用亚马逊应用商店计费兼容性SDK导入。
如果任何亚马逊应用商店计费兼容性SDK导入语句未被解析,则表示亚马逊应用商店计费兼容性SDK不支持该语句。请移除或修改应用中使用该语句之处,以使该语句适用于亚马逊应用商店。
后续步骤
相关主题
Last updated: 2026年4月15日

