亚马逊应用商店计费兼容性SDK
如果您现有的Android应用已与Google Play结算库集成,则可使用亚马逊应用商店计费兼容性SDK,只需进行极少的更改即可将应用移植到亚马逊应用商店。SDK支持消费品、权利和订阅应用内购买 (IAP)。亚马逊应用商店计费兼容性SDK与Google Play结算库4.0、5.0、6.0和7.0版本兼容。
下表显示了Google Play结算库、Appstore SDK和亚马逊应用商店计费兼容性SDK之间的功能比较。
功能 | Google Play结算库 | Appstore SDK | 亚马逊应用商店计费兼容性SDK |
---|---|---|---|
订阅 | 是 | 是 | 是 |
权利 | 是 | 是 | 是 |
消费品 | 是 | 是 | 是 |
数字版权管理 (DRM) | 否 | 是 | 是 |
下载亚马逊应用商店计费兼容性SDK
此处下载亚马逊应用商店计费兼容性SDK:
下载内容包括亚马逊应用商店计费兼容性JAR文件和API文档。
集成亚马逊应用商店计费兼容性SDK
按照此分步指南,将亚马逊应用商店计费兼容性SDK与您的应用集成。
步骤1.将SDK添加至您的应用
手动将亚马逊应用商店计费兼容性SDK添加至您的Android应用项目:
- 展开app文件夹并选择libs(如果没有libs文件夹,请创建一个文件夹)。将appstore-billing-compatibility-4.2.0.jar文件粘贴到该目录中。
- 打开app文件夹中的build.gradle文件,并在appstore-billing-compatibility-4.2.0.jar上添加依赖项。例如:
dependencies { implementation files('libs/appstore-billing-compatibility-4.2.0.jar') }
- 通过在IDE中的build.gradle文件顶部选择Sync Now(立即同步)来同步项目。
也可从应用中移除Google Play结算库依赖项。
步骤2:使用公有密钥配置您的Android应用
每个应用的公有密钥都是唯一的,它会在亚马逊应用商店和您的应用之间建立起安全的通信渠道。当您在亚马逊开发者控制台中生成公有密钥时,亚马逊会生成相应的私钥。这些公有密钥和私钥会构成密钥对,用于签署许可证响应。通过这种密钥配对,您可以确保应用仅限授权用户安装。
要使用公有密钥配置您的Android应用,请执行以下操作:
- 使用开发者账户登录开发者控制台。
- 转到应用与服务>我的应用程序。如果您已有应用,请单击该应用。否则,请单击添加新应用按钮并选择Android以创建新应用,然后填写“新应用提交”页面。
- 前往上传您的应用文件屏幕上的其他信息部分。
- 单击查看公有密钥。
- 在显示的“公有密钥”对话框中,单击AppstoreAuthenticationKey.pem链接,下载PEM文件。该文件包含您的公钥。
- 复制AppstoreAuthenticationKey.pem文件。将其粘贴到您的Android应用项目的app/src/main/assets文件夹中。如果没有该文件夹,请创建该文件夹。
也可移除Google Play Billing公有密钥依赖项。
步骤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 Billing导入,以使用亚马逊应用商店计费兼容性SDK导入。
如果任何亚马逊应用商店计费兼容性SDK导入语句未被解析,则表示亚马逊应用商店计费兼容性SDK不支持该语句。请移除或修改应用中使用该语句之处,以使该语句适用于亚马逊应用商店。
后续步骤
相关主题
Last updated: 2024年10月14日