开发者控制台

亚马逊应用商店计费兼容性SDK

亚马逊应用商店计费兼容性SDK

如果您现有的Android应用已与Google Play结算库集成,则可使用亚马逊应用商店计费兼容性SDK,只需进行极少的更改即可将应用移植到亚马逊应用商店。SDK支持消费品、权利和订阅应用内购买(IAP)。亚马逊应用商店计费兼容性SDK与Google Play结算库4.0和5.0版本兼容。

下表显示了Google Play结算库、Appstore SDK和亚马逊应用商店计费兼容性SDK之间的功能比较。

功能比较
功能 Google Play结算库 Appstore SDK 亚马逊应用商店计费兼容性SDK
订阅
权利
消费品
数字版权管理(DRM)

下载亚马逊应用商店计费兼容性SDK

此处下载亚马逊应用商店计费兼容性SDK:

下载内容包括亚马逊应用商店计费兼容性JAR文件和API文档。

集成亚马逊应用商店计费兼容性SDK

按照此分步指南,将亚马逊应用商店计费兼容性SDK与您的应用集成。

步骤1.将SDK添加至您的应用

手动将亚马逊应用商店计费兼容性SDK添加至您的Android应用项目:

  1. 展开app文件夹并选择libs(如果没有libs文件夹,请创建一个文件夹)。将appstore-billing-compatibility-4.1.0.jar文件粘贴到该目录中。
  2. 打开app文件夹中的build.gradle文件,并在appstore-billing-compatibility-4.1.0.jar上添加依赖项。例如:
     dependencies {
         implementation files('libs/appstore-billing-compatibility-4.1.0.jar')
     }
    
  3. 通过在IDE中的build.gradle文件顶部选择Sync Now(立即同步)来同步项目。

也可从应用中移除Google Play结算库依赖项。

步骤2:使用公有密钥配置您的Android应用

每个应用的公有密钥都是唯一的,它会在亚马逊应用商店和您的应用之间建立起安全的通信渠道。当您在亚马逊开发者控制台中生成公有密钥时,亚马逊会生成相应的私钥。这些公有密钥和私钥会构成密钥对,用于签署许可证响应。通过这种密钥配对,您可以确保应用仅限授权用户安装。

要使用公有密钥配置您的Android应用,请执行以下操作:

  1. 使用开发者账户登录开发者控制台
  2. 转到应用与服务>我的应用。如果您已有应用,请单击该应用。否则,请单击添加新应用按钮并选择Android以创建新应用,然后填写“新应用提交”页面。
  3. 转到应用信息选项卡上的添加App Bundle或APK文件部分。
  4. 单击公有密钥
  5. 在显示的“Public Key”(公有密钥)对话框中,单击AppstoreAuthenticationKey.pem链接,下载PEM文件。该文件包含您的公有密钥。
  6. 复制AppstoreAuthenticationKey.pem文件。将其粘贴到您的Android应用项目的app/src/main/assets文件夹中。如果没有该文件夹,请创建一个。

也可移除Google Play Billing公有密钥依赖项。

步骤3:使用接收器配置AndroidManifest.xml文件

亚马逊应用商店计费兼容性SDK以异步方式执行其所有活动。应用需要通过BillingResponseReceiver类从亚马逊应用商店接收广播意图。在应用中,此类从不被直接使用,但要让应用能够接收意图,就必须在清单中添加BillingResponseReceiver条目。

以下示例代码展示了如何在亚马逊应用商店计费兼容性SDK的AndroidManifest.xml文件中添加BillingResponseReceiver。如果您的应用以Android 12或更高版本为目标,则必须在MainActivityResponseReceiver中显式地将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不支持该语句。请移除或修改应用中使用该语句之处,以使该语句适用于亚马逊应用商店。

后续步骤

请参阅实现Google Play Billing接口


Last updated: 2023年10月27日