開発者コンソール

Windows 11およびFireデバイスターゲットアーキテクチャ向けのアプリの最適化

Behyad Ebadifar Aug 22, 2023
Share:
Appstore on Windows 11 Best practices
Blog_Header_Post_Img

重要: Windows 11向けAmazonアプリストアは、2025年3月5日をもってサービスを終了します。詳しくは、ブログをご参照ください

 

Amazonアプリストアの既存のアプリは、Android™️用Windowsサブシステム(WSA)を介してWindows 11で実行できるようになりました。ほとんどのWindowsデバイスはx86アーキテクチャベースのIntelまたはAMDプロセッサを搭載していますが、ほとんどのAndroidアプリはARMアプリケーションバイナリインターフェイス(ABI)を利用してビルドされています。Android™️用Windowsサブシステム(WSA)では、Intel Bridge Technology(IBT)を使用して、x86ベースのプロセッサでARM®アプリをエミュレートします。

ARMバイナリを使用してビルドされたAndroidアプリは、Windows 11のエミュレーションレイヤーを介してWSAで実行されます。エミュレーションプロセスによるパフォーマンス面での負荷の増大を解決するために、アプリのx86バージョンとARMバージョンを提供し、アプリをネイティブハードウェアで直接実行できるようにすることをお勧めします。本記事では、x86バイナリファイルをターゲットにして、Amazonデバイスとサポート対象のWindows PC向けにアプリを最適化する方法を説明します。ターゲットアーキテクチャを含むApp BundleやAPKでWindowsデバイスをターゲットにすることにより、ユーザーがアプリのインストールを選択したときに、常に快適なエクスペリエンスを得られます。

Unityでのターゲットアーキテクチャの指定:

ゲームでUnityゲームエンジンの互換バージョンを使用している場合は、次の手順に従ってx86/x86-64 Androidターゲットを有効にします。

  1. [Player Settings] > [Other Settings] > [Configuration] > [Scripting Backend] に移動し、ドロップダウンメニューから [IL2CPP] を選択してIL2CPPスクリプティングバックエンドを有効にします。
  2. x86 Androidターゲットを有効にする方法(Unityのバージョン別): 
    1. Unity 2018以前: [Player Settings] > [Other Settings] > [Target Architecture] に移動し、[x86] チェックボックスをオンにします。
    2. Unity 2019 Long Term Support(LTS)リリース以降[Player Settings] > [Other Settings] > [Target Architectures] に移動し、[x86 (ChromeOS)] と [x86-64 (ChromeOS)] の両方を有効にします。

Demo on enabling x86 Android targets for your version of Unity:

Gradle/ndk-build/CMakeでのターゲットアーキテクチャの指定:

x86およびx86_64のサポートを追加すると、ネイティブライブラリのサイズに影響を与える場合があります。Android App Bundleを活用して、4つのアーキテクチャ(arm64-v8a、armeabi-v7a、x86、x86_64)のサポートを含める際のサイズの影響を最小限に抑えることをお勧めします。Fireタブレット用とWindows 11デバイス用の両方のaabバイナリを申請できます。

各App Bundleが一意のバージョンコードを持つように設定してくださいバージョン管理の構成

  • Unity: [Player Settings] > [Other Settings] > [Identification]

Configure versioning

Amazon開発者コンソールでのアプリの申請

Googleは、2021年8月以降、Google Playで新規アプリを公開する際の必須形式として、Android App Bundle形式を発表しました。複数のABIをターゲットとする場合は、AABバイナリを申請することをお勧めします。これにより、アプリをさまざまなデバイスでダウンロードし、インストールする前に、ファイルのサイズが最適化します。Windowsデバイス用にアプリの準備ができたら、Windows 11をターゲットとするアプリを申請できます。AABビルドを申請できず、APKファイルのサイズが懸念される場合に備えて、開発者コンソールには同じアプリに複数のバイナリを追加するオプションが用意されています。複数のバイナリを使用する場合、アプリの申請時のエラーを回避するには、各パッケージには一意のバージョンコードを使用し、同じ公開アプリの各バイナリには同じパッケージ名を使用します。

Example of unique version code and same package name

まとめ

ARMとX86の両方のABIをサポートしてAmazonデバイスとWindows 11をターゲットにすることにより、アプリを最適化し、シームレスなクロスプラットフォームユーザーエクスペリエンスをユーザーに提供できます。Windows 11用にアプリのパフォーマンスを最適化する方法については、WSAを使用した入力のマッピング起動時間の改善に関する関連記事や、Windows 11用Amazonアプリストアの記事を参照してください。

関連リソース  

関連記事

ニュースレターを購読してみませんか?

最新のAmazon開発者向けニュース、業界の動向、ブログの記事をお届けします。

ニュースレターを購読してみませんか?

最新のAmazon開発者向けニュース、業界の動向、ブログの記事をお届けします。