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は以下からダウンロードできます。
このダウンロードには、Appstore請求サービス対応のJARファイルとAPIドキュメントが含まれています。
Kotlinを使用したAppstore請求サービス対応のデモアプリについては、GitHubのHello Pizzaデモアプリと、方法についての関連記事Porting Your Android App from Google Play Billing to Amazon (While Enjoying Pizza)(英語のみ)を参照してください。
Appstore請求サービス対応SDKの統合
Appstore請求サービス対応SDKをアプリに統合する手順は以下のとおりです。
手順1:SDKをアプリに追加する
AndroidアプリプロジェクトにAppstore請求サービス対応SDKを手動で追加します。
- 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 Billing Libraryの依存関係を削除できます。
手順2:Androidアプリにパブリックキーを設定する
このパブリックキーはアプリごとに一意で、Amazonアプリストアとアプリ間の安全な通信チャネルを確立します。Amazon開発者コンソールでパブリックキーを生成すると、対応するプライベートキーがAmazonによって生成されます。パブリックキーとプライベートキーは、ライセンス応答に署名するためのキーペアとなります。このキーのペアリングにより、アプリをインストールするユーザーが認証されていることを確認できます。
Androidアプリにパブリックキーを設定するには、次の手順を実行します。
- 開発者アカウントで開発者コンソールにログインします。
- [アプリ&サービス] > [マイアプリ] に移動します。既存のアプリがある場合は、そのアプリをクリックします。それ以外の場合は、[新規アプリを追加] ボタンをクリックし、[Android] を選択して新しいアプリを作成してから、[新規アプリの申請] ページで必要な情報を入力します。
- [アプリファイルをアップロード] 画面の [関連情報] セクションに移動します。
- [パブリックキーを表示] をクリックします。
- [パブリックキー] ダイアログボックスが表示されたら、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: 2024年12月12日