Appstore請求サービス対応SDK
既存のAndroidアプリにGoogle Play Billing Libraryが統合されている場合、Appstore請求サービス対応SDKを使用すると、最小限の変更でアプリをAmazonアプリストアに移植できます。このSDKは、消費型アイテム、非消費型アイテム、定期購入型アイテムのアプリ内課金(IAP)をサポートしています。Appstore請求サービス対応SDKは、Google Play Billing Libraryバージョン4.0、5.0、6.0、7.0と互換性があります。
次の表は、Google Play Billing Library、Appstore SDK、Appstore請求サービス対応SDKの機能を比較したものです。
| 機能 | Google Play Billing Library | Appstore SDK | Appstore請求サービス対応SDK |
|---|---|---|---|
| 定期購入型アイテム | ○ | ○ | ○ |
| 非消費型アイテム | ○ | ○ | ○ |
| 消費型アイテム | ○ | ○ | ○ |
| デジタル著作権管理(DRM) | × | ○ | ○ |
Appstore請求サービス対応SDKの統合
Appstore請求サービス対応SDKをアプリに統合する手順は以下のとおりです。
手順1:Appstore請求サービス対応SDKをアプリに追加する
Appstore請求サービス対応はMaven Central(英語のみ)から入手できます。Appstore請求サービス対応をアプリに追加するには、build.gradleファイルのdependenciesセクションに次のコードを追加します。
dependencies {
...
implementation 'com.amazon.device:appstore-billing-compatibility:4.2.0'
...
}
プロジェクトの最上位のbuild.gradleでMaven Centralリポジトリが定義されていない場合は、このリポジトリを必ず追加してください。Maven Centralリポジトリの追加の詳細については、リモートリポジトリを管理するを参照してください。
依存関係についての注意
- コードベースにAppstore SDKの依存関係が含まれている場合は削除してください。
- 必要に応じて、アプリからGoogle Play Billing Libraryの依存関係を削除できます。
手順2:Androidアプリにパブリックキーを設定する
このパブリックキーはアプリごとに一意で、Amazonアプリストアとアプリ間の安全な通信チャネルを確立します。Amazon開発者コンソールでパブリックキーを生成すると、対応するプライベートキーがAmazonによって生成されます。パブリックキーとプライベートキーは、ライセンス応答に署名するためのキーペアとなります。このキーのペアリングにより、アプリをインストールするユーザーが認証されていることを確認できます。
Androidアプリにパブリックキーを設定するには、次の手順を実行します。
- 開発者アカウントで開発者コンソールにログインします。
- ナビゲーションバーから [マイアプリ] をクリックします。既存のアプリがある場合は、該当するアプリの行を展開し、[View] をクリックしてアプリ一覧のエントリを開きます。それ以外の場合は、[新規アプリを追加] ボタンをクリックして新しいアプリを作成してから、[新規アプリの申請] ページで必要な情報を入力します。
- [アプリファイルをアップロード] 画面の [関連情報] セクションに移動します。
- [パブリックキーを表示] をクリックします。
- [パブリックキー] ダイアログボックスが表示されたら、AppstoreAuthenticationKey.pemリンクをクリックしてPEMファイルをダウンロードします。このファイルにパブリックキーが含まれています。
- AppstoreAuthenticationKey.pemファイルをコピーします。それを、Androidアプリプロジェクトのapp/src/main/assetsフォルダに貼り付けます。このフォルダがない場合は、新たに作成します。
必要に応じて、Google Play請求サービスのパブリックキーの依存関係を削除できます。
手順3:AndroidManifest.xmlファイルでレシーバーを構成する
Appstore請求サービス対応SDKは、すべてのアクティビティを非同期に実行します。アプリでは、BillingResponseReceiverクラスを通じてAmazonアプリストアからブロードキャストインテントを受信する必要があります。このクラスがアプリ内で直接使用されることはありませんが、アプリでインテントを受信するには、マニフェストにBillingResponseReceiverのエントリを追加する必要があります。
次のコード例は、Appstore請求サービス対応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:importステートメントを更新する
アプリのコードベースでAppstore請求サービス対応SDKのインポートを使用するようにGoogle Play請求サービスのインポートを更新します。そのためには、使用されているcom.android.billingclient.apiプレフィックスをすべて検索し、com.amazon.device.iap.billingclient.apiプレフィックスに置き換えます。
Appstore請求サービス対応SDKのimportステートメントが解決されない場合は、Appstore請求サービス対応SDKでサポートされていないことを示します。Amazonアプリストアと連携させるために、アプリ内での使用を削除または変更します。
次のステップ
Google Play請求サービスインターフェイスの実装を参照してください。
関連トピック
- Appstore請求サービス対応定期購入型アイテム
- Appstore請求サービス対応SDKのトラブルシューティング
- Appstore請求サービス対応SDKのベストプラクティス
- Appstore請求サービス対応SDK APIリファレンス(英語のみ)
Last updated: 2026年4月15日

