IAP v2.0からAppstore SDKへの移行
Amazon Appstore SDKは、Amazonアプリ内課金(IAP)用のSDKです。Androidアプリ向けにデジタル著作権管理(DRM)とIAPをサポートしています。Appstore SDKは、以前のSDKであるIAP v2.0を置き換えるものです。既存のアプリでは、引き続きIAP v2.0を使用することも、Appstore SDKに移行することもできます。
本ページでは、アプリをAppstore SDKに移行する手順を説明します。Amazon Appstore SDKは、SDKのダウンロードページからダウンロードできます。
- DRMとIAPにおける変更点
- Amazon管理のDRMからAppstore SDKへの移行方法
- スタンドアローンIAPからAppstore SDKへの移行方法
- IAPに関するその他の変更点
- Appstore SDKへの移行に関するよくある質問(FAQ)
DRMとIAPにおける変更点
以前は、Android APKをAmazonアプリストアにアップロードする際、[Amazon DRMを適用しますか?] で [はい] または [いいえ] を選択できるオプションが用意されていました(以下のスクリーンショットを参照)。
ここで [はい] を選択すると、アプリにDRMが追加されていました。
Appstore SDKを使用すると、このオプションは開発者コンソールに表示されません。APKにDRMを追加する場合は、DRM API(Appstore SDKの一部として提供)を使用して、ライセンスチェック機能をアプリに組み込みます。
IAP機能を使用する場合、以前はスタンドアローンのIAP JARをダウンロードしてアプリに組み込む必要がありましたが、Appstore SDKではIAP APIがAppstore SDKのJARファイルにバンドルされており、独立したJARファイルとして入手することはできなくなっています。IAPを実装するには、Appstore SDKを組み込む必要があります。
IAPの実行モードを特定する方法の詳細については、後述のIAPに関するその他の変更点を参照してください。
Amazon管理のDRMからAppstore SDKへの移行方法
既存のアプリでAmazon管理のDRMを使用している場合、DRM APIに切り替えるには、次の手順を実行します。
- 開発者コンソールで、次期バージョンのアプリを作成します。
- Appstore SDKを統合する手順に従って、アプリにパブリックキーを設定し、Appstore SDKをAndroidプロジェクトに統合します。
- Android用のDRMの手順に従って、ライセンスをチェックするロジックをアプリに追加します。
- 新しいバージョンのAPKをビルドし、開発者コンソールにアップロードして申請を行います。
スタンドアローンIAPからAppstore SDKへの移行方法
既存のアプリにスタンドアローンのIAP APIが組み込まれている場合は、次の手順に従って新しいAppstore SDKに切り替える必要があります。
- Android Studioで、in-app-purchasingのJARとその参照をアプリから削除します。
-
Appstore SDKを統合する手順に従って、アプリにパブリックキーを設定し、Appstore SDKをAndroidプロジェクトに統合します。
以前IAPに追加したのと同じコードがAppstore SDKで動作します。IAP APIの旧機能は変わりません(ただし、テスト用の
IS_SANDBOX_MODE
は除きます。後述のIAPに関するその他の変更点を参照してください)。 - 新しいバージョンのAPKをビルドし、開発者コンソールにアップロードして申請を行います。
IAPに関するその他の変更点
PurchasingService
クラスのIS_SANDBOX_MODE
値がAppstore SDKから削除されたことを除けば、IAP実装に関する細かな内容はほとんど変わっていません。
今後SDKの現在の実行モードを特定する際は、LicensingService
クラスのgetAppstoreSDKMode()
メソッドを呼び出す必要があります。getAppstoreSDKMode()
を呼び出す場合は、事前にLicensingService.verifyLicense()
を呼び出しておく必要があります。
public enum AppstoreSDKModes {
SANDBOX,
PRODUCTION,
UNKNOWN
}
各種のモードについて次の表で説明します。
SDKモード | 説明 |
---|---|
SANDBOX |
アプリはテスト中であり、Amazon App Testerとのみやり取りします。 |
PRODUCTION |
アプリはすべてのAPI呼び出しに対して、Amazonアプリストアおよびユーザーアカウントと通信を行います。Amazonから成功レスポンスが返されるのは、Amazonアプリストアに申請されたアプリのみであることに注意してください。 |
UNKNOWN |
このモードは、SDKがverifyLicense() の呼び出しによって初期化されていないことを示します。 |
Appstore SDKへの移行に関するよくある質問(FAQ)
- 今後は自分で署名を処理する必要がありますか? 署名キーを紛失した場合はどうなりますか?
- 申請されたアプリの署名は、Amazonが引き続き管理します。署名の管理をAmazonに委ねることによって、署名キーの紛失を防ぐことが可能です。Amazonが署名を管理していない場合、署名キーを紛失すると、アプリを更新できなくなります。
- Amazonがアプリの署名時に使用するのは、どのような署名ですか?
- Amazonは現在、V1署名を使用しています。
- Appstore SDKの導入により、IAPのレシート検証サービス(RVS)に何らかの影響はありますか?
- RVSに対するその他の影響はありません。
- 現在のIAP実装からAppstore SDKに移行するには、どうすればよいですか?
- IAP実装コードは変わらないので、新しいAppstore SDKに対応するために既存のIAPコードを更新する必要はありません。ただし、Appstore SDK JARをアプリに組み込む必要があります。詳細については、上記のスタンドアローンIAPからAppstore SDKへの移行方法を参照してください。
- AmazonがAppstore SDKの提供を開始すると、既存のIAP統合は機能しなくなりますか?
- いいえ。公開済みアプリのIAP統合は引き続き正常に機能します(Amazonが、公開済みアプリのコードを変更することはありません)。 Appstore SDKは、以前はスタンドアローンのIAP APIで使用されていたものと同じIAPコードを備えているため、公開済みアプリに影響を及ぼすことは事実上ありません。
- Appstore SDKはライブアプリテスト(LAT)に何らかの影響を与えますか?
- LATの動作に関して影響はありません。
- Appstore SDKは、IAPを組み込んだアプリのテストに使用するApp Testerアプリに何らかの影響を及ぼしますか?
- Appstore SDKは、新しいApp Testerをサポートしています。
- Androidにおける65Kメソッド参照数制限に関して、DRMまたはIAPのどちらか一方のみが必要な場合、大きなAppstore SDKを組み込むのではなく、より限定的なJARを選択することはできますか?
- いいえ。Appstore SDKのJARは1種類だけです。
- IAPとDRMの両方をアプリに組み込む必要はありますか?
- IAPはアプリ内課金を保護し、DRMはアプリの不正配布を防いでくれます。必要に応じて両方を実装することができます。さまざまなシナリオの詳細については、DRMを使用できるアプリの種類を参照してください。
- Appstore SDKを組み込むと、アプリ内課金が含まれているという注記がAmazonアプリストアのアプリ詳細ページに追加されますか?
- いいえ。IAPを実装していない場合、アプリ内課金が含まれているという情報がアプリの説明に追加されることはありません。
- パブリックキーを設定する必要があるのはなぜですか?
- Appstore SDKを使用するには、プロジェクトにパブリックキーを追加する必要があります。パブリックキーは、Amazonアプリストアとアプリ間の安全な通信チャネルを確立します。開発者コンソールでパブリックキーを生成すると、対応するプライベートキーがAmazonによって生成されます。パブリックキーとプライベートキーは、ライセンス応答に署名するためのキーペアとなります。このキーのペアリングにより、アプリをインストールするユーザーが確実に承認されます。
- アプリの新規バージョンごとに新しいパブリックキーを取得する必要がありますか?
- いいえ。同じパブリックキーを使い続けることができます。
- アプリでIAPの呼び出しを行うとエラーが発生します。トラブルシューティングの方法を教えてください。
- Appstore SDKのトラブルシューティングを参照してください。
Last updated: 2024年5月22日