開発者コンソール

Google Play請求サービス対応Appstore SDK

Google Play請求サービス対応Appstore SDK

既存のAndroidアプリにGoogle Play Billing Libraryが既に統合されている場合、Google Play請求サービスAPI対応Appstore SDKを使用すると、最小限の変更でアプリをAmazonアプリストアに移植できます。Google Play請求サービスAPI対応Appstore SDKは、消費型アイテムと非消費型アイテムのアプリ内課金(IAP)をサポートしています。定期購入型アイテムのIAPはサポートされていません。

次の表は、Google Play Billing Library、Amazon Appstore SDK v3.0.3、Google Play請求サービスAPI対応Amazon Appstore SDK v4.0.0の機能を比較したものです。

機能比較
機能 Google Play Billing Library Appstore SDK v3.0.3 Google Play請求サービスAPI対応Appstore SDK v4.0.0
定期購入型アイテム を参照
非消費型アイテム
消費型アイテム
デジタル著作権管理(DRM)

Appstore SDKのダウンロード

Google Play請求サービスAPI対応Appstore SDKをダウンロードするには、SDKのダウンロードにアクセスしてください。このダウンロードには、Appstore SDKのJARファイルとAPIドキュメントが含まれています。

Appstore SDKの統合

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

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

AndroidアプリプロジェクトにAppstore SDKを手動で追加します。

  1. appフォルダを展開し、libsを選択します(libsフォルダがない場合は、作成します)。appstore-sdk-compat-beta-4.0.0.jarファイルをこのディレクトリに貼り付けます。
  2. appフォルダのbuild.gradleファイルを開き、appstore-sdk-compat-beta-4.0.0.jarへの依存関係を追加します。以下に例を示します。
     dependencies {
         implementation files('libs/appstore-sdk-compat-beta-4.0.0.jar')
     }
    
  3. IDEでbuild.gradleファイルの上部に表示される [Sync Now] をクリックして、プロジェクトを同期します。

必要に応じて、アプリからGoogle Play Billing Libraryの依存関係を削除できます。

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

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

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

  1. 開発者アカウントで開発者コンソールにログインします。
  2. [アプリ&サービス] > [マイアプリ] に移動します。既存のアプリがある場合は、そのアプリをクリックします。それ以外の場合は、[新規アプリを追加] ボタンをクリックし、[Android] を選択して新しいアプリを作成してから、[新規アプリの申請] ページで必要な情報を入力します。
  3. [アプリの情報] タブの [App BundleまたはAPKファイルを追加] セクションに移動します。
  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請求サービスインターフェイスの実装を参照してください。