手順7: APKファイルをアップロードする


手順7: APKファイルをアップロードする

このドキュメントは [APKファイル][バイナリファイル])タブに関連しています。

[APKファイル] タブ
[APKファイル] タブ

[APKファイル] タブで、APKファイルをアップロードし、APKでサポートするデバイスなどを示します。APKに関連する概念的トピックについては、以下を参照してください。

(ウェブアプリをアップロードする場合は、このトピックではなく、ウェブアプリのファイルをアップロードするを参照してください。)

[APKファイル] タブのフィールド

次の表は、[APKファイル] タブの各フィールドとセクションについて説明しています。

[APKファイル] タブのフィールド
フィールド 説明
Amazon DRMを適用しますか?

Amazonに申請するアプリごとに(1つのアプリに複数のAPKが含まれる場合があります)、DRMを適用するか、権利管理制限を付けずにアプリを利用可能にするかを選択できます。DRM(デジタル著作権管理)は、アプリを不正使用から保護します。DRM設定はアプリのすべてのAPKに適用されます。DRMを適用しない場合、すべてのユーザーがアプリを制限なしで利用できます。アプリにDRMを適用する場合は、開発者ポータルのDRMシステムを必ず使用してください。

DRM設定はアプリのすべてのAPKに適用されることに注意してください。前にアップロードしたAPKがある中で、それとは異なるDRM設定のAPKを新しく追加する場合は、前のAPKでも更新されたDRM設定を受け取れるように置き換える必要があります。置き換えなければ、ここでの選択にかかわらず、前のAPKは前のDRM設定のままとなります。詳細については、DRMについてを参照してください。

APKファイル

Android APKファイルをアップロードします(ボックスにファイルを1つずつドロップします)。APKファイルを追加する際、情報アイコンAPK情報アイコンをクリックすると、その詳細が表示されます。詳細には、バージョンコード、バージョン名、ファイルサイズ、パッケージ名、最小SDKバージョン、機能、ライブラリ、権限、ローカライゼーション、サポートされている画面、互換性のある画面、OpenGLの詳細、ネイティブプラットフォームが含まれます。次に例を示します。

APKの詳細
これらの詳細によって、APKでサポートされるデバイスの種類が決まります(フィルターについてはデバイスフィルタリングと互換性で説明しています)。

アップロード後、APKはAPIレベルに基づくエイリアス名が付けられます(例:apilevel22)。エイリアスの名前は必要に応じて変更できます。このカスタムエイリアスは内部的に使用されるもので、ユーザーには表示されません。APKファイルに関する詳細については、アプリのAPKファイルを作成するおよび公開済みアプリを更新するを参照してください。

サポート言語

APKでサポートされている言語を1つ以上選択します (デフォルトは英語です)。 ここでの選択は、Amazonアプリストアのデバイスのアプリ説明ページにある [サポートされている言語] セクションに表示され、アプリが対応している言語をユーザーに知らせることができます ([サポートされている言語] セクションは、デバイスのAmazonアプリストアのアプリ画面にのみ表示され、Amazonアプリストアのウェブサイトには表示されません)。

サポート言語の選択によって、ローカライズされたAmazonアプリストアのマーケットプレイスでアプリの提供を開始できるということではありません。APKのローカライズインターフェイスは、Amazonアプリストアの申請プロセス中に行う設定で処理するのではなく、APK自体で処理する必要があります。ただし、ローカライズされたAPKを作成済みの場合は、ローカライズされた説明イメージアセットを追加することができます。ここで選択された説明、イメージアセット、サポート言語のオプションはすべてAmazonアプリストアのアプリ紹介ページに表示されます。ローカライズの詳細については、アプリを海外へ配信するを参照してください。

テスト手順

Amazonテストチームに伝えるべきことをこのフィールドに入力します (テスト手順が不要な場合は、空欄のままでかまいません)。 テスト手順には次のようなものがあります。

  • アプリに見つけにくい機能が含まれている場合は、その機能を見つける方法をここに記入します。また、Amazonからのフィードバックに基づいてアプリを再提出する必要がある場合、このフィールドを使用してテストレポートEメールに返信することができます。
  • アプリを起動して使用する前にユーザーのログインが必要な場合は、Amazonテストチームのテスト用の資格情報を記入します。Amazonでのテスト中にアプリを起動できない場合、アプリは却下されます。
海外販売に関するコンプライアンス 公開先として選択したすべての国のコンプライアンスにアプリが準拠していることを証明するよう求められます。詳細については、開発者サービス契約の「法令遵守ならびにプライバシーおよびセキュリティ義務」セクションをお読みください。
Amazon Maps Redirectionを利用する Google Maps v1 APIの呼び出しを自動的にアプリからAmazon Maps APIにリダイレクトできます。Google Maps APIを実装している場合に、タブレットとスマートフォンのアプリのみで使用されます。

Amazonアプリストアの証明書ハッシュ

SHA-1、MD5、SHA-256のハッシュを含む証明書情報をタブの右上にあるリンクから入手できます。申請プロセスでは、開発者の署名が削除され、Amazon署名が適用されます。この署名は開発者に固有で、変更されることがなく、同一アカウントのすべてのアプリに対して同じです。詳細については、Amazonアプリの署名についてを参照してください。

既存のAPKを更新

既存のAPKを更新する場合は、公開済みアプリを更新するを参照してください。更新する際、既存のAPKを置き換えて同じデバイスサポートの選択を維持するか、前のAPKを削除してデバイスサポートの詳細を選択し直すかを選択できます。

APKのデバイスサポートを調整

APKをアップロードしている場合は、[デバイスサポート] セクションに、マニフェストの属性に基づいて、(互換性のある)APKにサポートされるデバイスが表示されます。

必要に応じて、互換性に関する既知の問題があるデバイスのサポートを手動で削除できます。サポート対象のデバイスは次の3つのカテゴリーに分類されます。

  • Amazon Fire PhoneおよびFireタブレット: アプリでサポートされるFire PhoneとFireタブレットを示します。詳細については、Fireタブレットのデバイス仕様を参照してください。デフォルトでは、すべてのAmazon Fire PhoneおよびFireタブレットデバイスと、Amazon以外のすべてのAndroidデバイスに対して、アップロード済みのAPKのデバイスサポートが有効になります。
  • Amazon Fire TVデバイス: アプリでサポートされるFire TVデバイスを示します。各Fire TVデバイスの名前に関する詳細についてはAmazon Fire TVの命名規則を、仕様についてはFire TVのデバイス仕様を参照してください。

  • Amazon以外のAndroidデバイスAndroidアプリ用のAmazonアプリストアからアプリをインストールできるAndroidデバイスを示します。このオプションにより、より広範にアプリを配信できるようになります(これは、アプリをGoogle Playでは公開せず、Amazonアプリストアでのみ公開する場合に特に有効です)。Amazon以外のAndroidデバイスは、さらに3つのグループ、 [サポート対象](互換性のあるデバイス)、[除外](手動で選択解除されたデバイス)、[未対応](マニフェスト設定に基づいて互換性のないデバイス)に分類されます。

アプリでサポートされるデバイスを変更するには、[デバイスサポートを編集] をクリックして、該当のデバイスを更新します。デバイスサポートのオン(緑色)とオフ(灰色)を適宜切り替えます。カテゴリーを切り替えるには、ダイアログボックス上部のタブをクリックします。

たとえば、Fire TVデバイス向けのストリーミングメディアアプリをアップロードする場合、Amazon Fire TVデバイスの行で [デバイスサポートを編集] をクリックし、[Amazon Fire TV] タブから該当するデバイスサポートオプションを選択します。

Fire TVのデバイスサポート

APKでデバイスがサポートされていない理由を確認するには、次の画像のように、[デバイスサポート] ダイアログボックスのデバイス名の横にあるヘルプアイコンAmazonアプリストアのヘルプアイコンにマウスを合わせます。

デバイスサポートの理由

APKのデバイスサポートに関する詳細については、以下を参照してください。

Amazon以外のデバイスの場合、[デバイスサポート] ダイアログの下部に、他のすべてのAndroidデバイス用のオプションがあります。Amazon以外のAndroidデバイスは、全体的にオンとオフを切り替えることもできますし、手動でデバイスサポートを変更することもできます。こうした設定によって、今後互換性を持つデバイスも含めて、他のすべてのAndroidデバイスにアプリを配信することができます。デバイスへの需要に基づいて、定期的に新しいデバイスが追加されます。マニフェストフィルタリングを通じて、Amazonアプリストアはデバイスの互換性を自動的に判断します。

「他のすべてのAndroidデバイス」をオフにした場合、Amazon以外のデバイスに対する互換性対応がブラックリストアプローチからホワイトリストアプローチに変わります。つまり、それらのデバイスではデフォルトでAPKの互換性がなくなります。したがって、APKがサポートするサードパーティのデバイスを手動で選択しなければなりません。

同じアプリにAPKを追加するには、次のセクションの同じアプリに複数のAPKを追加を参照してください。

同じアプリに複数のAPKを追加

複数のAPKをアップロードする際、マニフェストのpackage名が同じであることを確認してください。ただし、各APKにはGradleビルドファイルで一意のversionCodeを指定する必要があります。

複数のAPKを追加する場合、1つのAPKで1つのデバイスしか対応できないため、追加するAPKでサポートしたいデバイスは最初のAPKから削除する必要があります。この選択プロセスの手順とスクリーンショットを以下に示します。

複数のAPKをアップロードする方法は次のとおりです。

  1. 最初のAPKをまだアップロードしていない場合は、[APKファイル] ボックスにAPKをドラッグしてアップロードします。
  2. 最初のAPKをアップロードしたら、「サポート対象のデバイス」の横で [編集] をクリックし、2番目のAPKでターゲットにする予定のデバイスサポートを削除します。

    たとえば、Fire TVアプリ用に「APK1」と「APK2」という2つのAPKがあるとします。APK1では、Fire TV(第3世代)を除くFire TVデバイスをすべてターゲットにします。APK1に対して、[APKファイル] セクションで「サポート対象のデバイス」の横にある [編集] をクリックします。[デバイスサポート] ダイアログボックスで、[Fire TV(第3世代)] の横にあるチェックボックスをオフにします。 これにより、Fire TV(第3世代)をAPK2のターゲットにできるようになります。最初のAPKからデバイスサポートを削除しなければ、2番目のAPKで同じデバイスをターゲットにすることはできません。

    最初のAPKからデバイスサポートを削除する
    このシナリオでは、2番目のAPKで選択するためにFire TV(第3世代)を削除しました。

    既存のAPKを更新しているとき、サポート対象のデバイスの横にあるチェックボックスをオフにすると「サポートデバイスの低下」に関する警告が表示されることがあります。この警告は、アプリでサポートされるデバイス数が減ることを知らせるものです。そのデバイスに既にアプリをインストールしているユーザーは、(今回のAPKでデバイスがサポートされなくなるため)更新できなくなります (詳細については、警告: デバイスサポートの低下をお読みください)。 複数のAPKをアップロードしているときは、この通知を無視してかまいません。別のAPKをアップロードし、最初のAPKから削除したデバイスをターゲットにすれば、この警告は適用されません。

  3. (任意)新しくアップロードするAPKと区別しやすいように、APKに判別しやすいエイリアスを与えます。
  4. 別のAPKファイルをAPKファイルボックスにドラッグします。必要に応じて、最初のAPKと区別しやすいように、アップロードした新しいAPKのエイリアスを変更します。

    [APKファイル] タブに別のAPKをドラッグすると、最初のAPKでサポートされていたデバイスが2番目のAPKで利用できません。これは、同じデバイスに複数のAPKをインストールできないためです。この場合、灰色で表示されるデバイスの下に、「Targeted by another APK in current or prior version(現在または前のバージョンの別のAPKでターゲットにされています)」というメッセージが表示されます(「ターゲット」とは、アプリでそのデバイスのサポートを選択しているという意味です)。 この 「複数のAPKを同一デバイスにインストールすることはできない」というルールを覚えておいてください。 2番目のAPKでは、最初のAPKで選択されていないデバイスを選択できます。

    上記の例を続けます。「APK2」をアップロードし、Fire TV(第3世代)でこのAPKをサポートするとします。前のAPKによるFire TV(第3世代)のサポートはオフにしているため、2番目のAPKでこのデバイスを選択できます。

    Fire TV(第3世代)は、最初のAPKによるサポートを削除したため、選択できます。灰色の「X」が付いている他のデバイスは、前のAPKでサポートされているため、新しいAPKでは利用できないということです。

    複数のAPKがある場合、Amazonアプリストアでは、APIレベルやversionCodeに基づいてAPKが自動的に割り当てられることがありません(この点がGoogle Playと異なります)。複数のAPKをアップロードする際は、サポート対象のデバイスを手動で選択する必要があります。

  5. 入力し終えたら、[保存] をクリックします。

    アプリごとに2つ以上のAPKを追加することができます。引き続き、必要な数だけAPKを追加してください。

よくあるエラーのトラブルシューティング

このセクションでは、[APKファイル] タブのAPK申請に関連するトラブルシューティングについて説明します。

エラー: パッケージ名の重複

APKをアップロードする際、次のエラーが表示されることがあります。

Failed to upload APK. The package name of the uploaded APK, com.amazon.android.yourapp, is already in use by an app owned by a different developer. Please contact us for more information.(APKのアップロードに失敗しました。アップロードされたAPKのパッケージ名「com.amazon.android.yourapp」は別の開発者が所有するアプリで既に使用されています。詳細についてはお問い合わせください。)

まず、アプリの申請またはライブアプリテストで、別のAmazon開発者アカウントを使ってこのAPKファイルをアップロードしていないか確認してください。別のアカウントで同じAPKをアップロードしていなければ、[サポート] > [お問い合わせ] にアクセスして、パッケージ名を記載の上、この問題を報告してください。

Unityや既存のマニフェストファイルを用いた開発環境の場合は、申請前に変更すべきプレースホルダー値がアプリのパッケージ名に使用されている可能性があります。APKファイルのパッケージ名は、公開するアプリに対して一意である必要があり、通常はcom.companyname.appnameの形式となります。

連携している開発者または公開会社がライブアプリテスト用にアプリをアップロードしている可能性がある場合は、その開発パートナーに連絡をして、先方のアカウントで同じアプリのAPKを申請していないか確認してください。パートナーがアップロードしている場合は、現在のライブアプリテストを終了するよう依頼します。その後、パッケージ名についてAmazonに連絡し、問題を解決してください。

警告: デバイスサポートの低下

APKのデバイスサポートを変更する際、次の警告が表示されることがあります。

Device support has been reduced from the previous version. Some existing customers will not be able to upgrade. To resolve manifest conflicts, Amazon recommends editing the manifest to retain your current device support.(前のバージョンからデバイスサポートが縮小し、既存のユーザーがアップグレードできない場合があります。マニフェストの競合を解決するため、現在のデバイスサポートを維持するようマニフェストを編集することをお勧めします。)

このメッセージは、新たにアップロードしたAPKによって、マニフェストまたはbuild.gradleファイルに新たな属性が加わり、互換性のあるデバイス数が低下することを意味します。最もよくある原因として考えられるのは、APIレベルの値を大きくしたことで、このアップデートに対応できるデバイス数が減るということです。そのためAmazonアプリストアから、一部のデバイスで今回のアップデートをインストールできない可能性があることが警告されています。

たとえば、APIレベル19を最小要件とするマニフェスト属性のAPKを公開した時点で、APIレベル19をサポートする(ただし、それ以上のレベルはサポートしない)デバイスを持つユーザーがアプリをインストールしたとします。その後、アプリに新機能または権限が加えられ、APIレベル22が最小要件となりました。このアップデートでは、(APIレベル19の)ユーザーがインストールした前のアプリバージョンとの互換性がなくなります。結果として、ユーザーは新バージョンがあることも把握できません。

利用できないターゲットデバイス

新しいAPKをアップロードする際、特定のデバイスがAPKでサポートされないという次のようなメッセージが表示されることがあります。

APKマニフェストが必要としている機能が、このデバイスには搭載されていません。
android:minSdkVersion = '22'; device requires '15'

デバイスがサポートされていない理由を確認するには、[デバイスサポート] ダイアログボックスのデバイス名の横にあるヘルプアイコンにマウスを合わせます。詳細については、上記のAPKのデバイスサポートを調整を参照してください。互換性の問題は、APIレベル、OpenGL圧縮形式、CPU、画面サイズと密度、デバイスの機能、提供していない地域など、さまざまな要因によって生じる可能性があります。

現在のバージョンの別のバイナリによるターゲット

複数のAPKをアップロードする場合、デバイスが既に別のAPKでサポートされていることがあります。その場合、サポートされていないデバイスにマウスを合わせると、次のメッセージが表示されます。

Targeted by another binary in the current version.(現在のバージョンの別のバイナリによってターゲットにされています。)

複数のAPKで同じデバイスをサポートすることはできません。1つのAPKのデバイスサポートを編集して、他のAPKでそのデバイスサポートを選択できるようにする必要があります。詳細な手順については、同じアプリに複数のAPKを追加を参照してください。概要については、同じ公開アプリに対する複数のAPKを参照してください。

次のステップ

次の手順の 手順8: アプリの申請ステータスを確認するに進みます。