開発者コンソール

Appstore請求サービス対応SDK

Appstore請求サービス対応SDK

既存のAndroidアプリにGoogle Play Billing Libraryが統合されている場合、Appstore請求サービス対応SDKを使用すると、最小限の変更でアプリをAmazonアプリストアに移植できます。このSDKは、消費型アイテム、非消費型アイテム、定期購入型アイテムのアプリ内課金(IAP)をサポートしています。Appstore請求サービス対応SDKは、Google Play Billing Libraryバージョン4.0および5.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ドキュメントが含まれています。

Appstore請求サービス対応SDKの統合

Appstore請求サービス対応SDKをアプリに統合する手順は以下のとおりです。

手順1:SDKをアプリに追加する

AndroidアプリプロジェクトにAppstore請求サービス対応SDKを手動で追加します。

  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 Billing Libraryの依存関係を削除できます。

手順2:Androidアプリにパブリックキーを設定する

このパブリックキーはアプリごとに一意で、Amazonアプリストアとアプリ間の安全な通信チャネルを確立します。Amazon開発者コンソールでパブリックキーを生成すると、対応するプライベートキーがAmazonによって生成されます。パブリックキーとプライベートキーは、ライセンス応答に署名するためのキーペアとなります。このキーのペアリングにより、アプリをインストールするユーザーが認証されていることを確認できます。

Androidアプリにパブリックキーを設定するには、次の手順を実行します。

  1. 開発者アカウントで開発者コンソールにログインします。
  2. [アプリ&サービス] > [マイアプリ] に移動します。既存のアプリがある場合は、そのアプリをクリックします。それ以外の場合は、[新規アプリを追加] ボタンをクリックし、[Android] を選択して新しいアプリを作成してから、[新規アプリの申請] ページで必要な情報を入力します。
  3. [アプリファイルをアップロード] 画面の [関連情報] セクションに移動します。
  4. [パブリックキーを表示] をクリックします。
  5. [パブリックキー] ダイアログボックスが表示されたら、AppstoreAuthenticationKey.pemリンクをクリックしてPEMファイルをダウンロードします。このファイルにパブリックキーが含まれています。
  6. AppstoreAuthenticationKey.pemファイルをコピーします。それを、Androidアプリプロジェクトのapp/src/main/assetsフォルダに貼り付けます。このフォルダがない場合は、新たに作成します。

必要に応じて、Google Play請求サービスのパブリックキーの依存関係を削除できます。

手順3:AndroidManifest.xmlファイルでレシーバーを構成する

Appstore請求サービス対応SDKは、すべてのアクティビティを非同期に実行します。アプリでは、BillingResponseReceiverクラスを通じてAmazonアプリストアからブロードキャストインテントを受信する必要があります。このクラスがアプリ内で直接使用されることはありませんが、アプリでインテントを受信するには、マニフェストにBillingResponseReceiverのエントリを追加する必要があります。

次のコード例は、Appstore請求サービス対応SDK用のAndroidManifest.xmlファイルにBillingResponseReceiverを追加する方法を示しています。アプリがAndroid 12以降を対象としている場合は、MainActivityResponseReceiverandroid: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請求サービスインターフェイスの実装を参照してください。


Last updated: 2023年10月27日