開発者コンソール

Appstore SDKへの移行


Appstore SDKへの移行

Amazon Appstore SDKは、Amazonアプリ内課金(IAP)用の新しいSDKです。Androidアプリ用のデジタル著作権管理(DRM)とIAPに対応しています。

以前のSDK「IAP v2.0」は、Appstore SDKに置き換えられます。Amazonアプリストアに新規アプリを申請する場合は、Appstore SDKを使用してください。既存のアプリで引き続きIAP v2.0を使用することも、新しいAppstore SDKに移行することも可能です。本ページでは、アプリをAppstore SDKに移行する手順を説明します。

Amazon Appstore SDKは、SDKのダウンロードページからダウンロードできます。

DRMとIAPにおける変更点

以前は、Android APKをAmazonアプリストアにアップロードすると、次のスクリーンショットに示すように、[APKファイル] タブには、[Amazon DRMを適用しますか?] に対して [はい] または [いいえ] を選択するオプションが用意されていました。

ここで [はい] を選択した場合、アプリにDRMを適用するためのコードでAPKが自動的にラップされていました。

新しいAppstore SDKでは、申請後のAPKにこのラッパーが追加されなくなりました。

JavaのAndroidアプリにDRMが必要な場合は、代わりに追加手順を実行し、DRM API(Appstore SDKから使用可能)を介してライセンスチェック機能をアプリに組み込む必要があります。

これまで、IAP機能を使用する場合は、スタンドアローンのIAP JARをダウンロードしてアプリに組み込む必要がありました。新しいAppstore SDKでは、IAP APIを独立したJARファイルとして入手できません。代わりに、Appstore SDKのJARファイルにバンドルされています。IAPを実装するには、Appstore SDKを組み込む必要があります。

IAPの実行モードを特定する方法の詳細については、以下のIAPに関するその他の変更点を参照してください。

Amazon管理のDRMからAppstore SDKへの移行方法

既存のアプリでAmazon管理のDRMを使用している場合、DRM APIに切り替えるには、次の手順を実行します。

  1. 開発者コンソールで、次期バージョンのアプリを作成します。
  2. Appstore SDKの統合の手順に従って、Appstore SDKをAndroidプロジェクトに統合します。
  3. Android用のDRMの手順に従って、ライセンスをチェックするロジックをアプリに追加します。
  4. 新しいバージョンのAPKをビルドし、開発者コンソールにアップロードして申請を行います。

スタンドアローンIAPからAppstore SDKへの移行方法

既存のアプリにスタンドアローンのIAP APIが組み込まれている場合は、次の手順に従って新しいAppstore SDKに切り替える必要があります。

  1. Android Studioで、in-app-purchasing JARとその参照をアプリから削除します。
  2. Appstore SDKの統合の手順に従って、Appstore SDKをAndroidプロジェクトに統合します。

    以前IAPに追加したのと同じコードがAppstore SDKで動作します。IAP APIの旧機能は変わりません(ただし、テスト用のIS_SANDBOX_MODEは除きます。後述のIAPに関するその他の変更点を参照してください)。

  3. 新しいバージョンのAPKをビルドし、開発者コンソールにアップロードして申請します。

IAPに関するその他の変更点

PurchasingServiceクラスのIS_SANDBOX_MODE値がAppstore SDKから削除されたことを除けば、IAP実装に関する細かな内容はほとんど変わっていません。

今後SDKの現在の実行モードを特定する際は、PurchasingServiceクラスのgetAppstoreSDKMode()メソッドを呼び出す必要があります。また、getAppstoreSDKMode()メソッドは、registerListener()の後に呼び出す必要があることに注意してください。

public enum AppstoreSDKModes {

    SANDBOX,
    PRODUCTION,
    UNKNOWN
}

各種のモードについて次の表で説明します。

SDKモード 説明
SANDBOX アプリはテスト中であり、Amazon App Testerとのみやり取りします。
PRODUCTION アプリはすべてのAPI呼び出しに対して、Amazonアプリストアおよびユーザーアカウントと通信を行います。Amazonから成功レスポンスが返されるのは、Amazonアプリストアに申請されたアプリのみであることに注意してください。
UNKNOWN このモードは、SDKがregisterListenerの呼び出しによって初期化されていないことを示します。

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を実装していない場合、アプリ内課金が含まれているという情報がアプリの説明に追加されることはありません。
アプリの新規バージョンごとに新しいパブリックキーを取得する必要がありますか?
いいえ。次期バージョンからその次のバージョンまで同じパブリックキーを使用できます。