重要: Windows 11向けAmazonアプリストアは、2025年3月5日をもってサービスを終了します。詳しくは、ブログをご参照ください。
Android開発者は、アプリをWindows 11用Amazonアプリストアに移植することにより顧客ベースを拡大できます。ただし、Windows 11ではアプリウィンドウを自由にサイズ変更できることを念頭に置くことが重要であり、ビューポートウィンドウのサイズを変更するときにアプリの応答性と安定性を保つことが不可欠です。
このガイドでは、Android™用Windowsサブシステム(WSA)でAndroidアプリのウィンドウサイズ変更を処理する際の主要な検討事項を説明します。
ユーザーにシームレスなエクスペリエンスを確実に提供するために、Windows 11では、9インチを超えるサイズの画面で、720pの解像度(1280x720)を画面の最小要件としています。ウィンドウサイズの縦横比がデバイスの画面サイズと一致しない場合、レターボックスまたはピラーボックスが発生し、ウィンドウを中央に配置するためにウィンドウの上下、左右にバーが表示されます。
Windows 11でアプリを起動する場合に検討が必要な起動サイズのオプションがいくつかあります。
静的な起動範囲を使用する。アクティビティのマニフェストエントリで<layout>を使用して、「固定」の起動サイズを指定します。次に例を示します。
<layout android:defaultHeight="500dp"
android:defaultWidth="600dp"
android:gravity="top|end"
android:minHeight="450dp"
android:minWidth="300dp" />
動的な起動範囲を使用する。新しいアクティビティを作成するときに、アクティビティでActivityOptions.setLaunchBounds(Rect)を作成して使用できます。空の四角形を指定することでアプリを最大化できます。
注: これらのオプションはルートアクティビティにのみ指定し、新しく起動するタスクでアクティビティスタックをクリアするにはスプリングボードアクティビティの使用を検討してください。
レスポンシブレイアウトによりさまざまな画面サイズに対応することで、画面を表示するフォームファクターに関係なく、表示レイアウトを制御できます。
動的なウィンドウサイズに関する詳細およびKotlinやJavaでアプリのユーザーインターフェイスに明確なブレークポイントを設定する方法については、Androidの各種画面サイズのサポートに関するガイドを参照してください。また、マルチウィンドウモードによってアプリをほかのアプリの隣で動作できるようにすることや、アクティビティコンテキストとアプリコンテキストの違いについても考慮してください。
アプリのレイアウトが新しいウィンドウサイズに適応するように設定することでユーザーエクスペリエンスを向上させることができます。これを実現するには、アクティビティクラスのonSizeChanged()メソッドを使用します。このメソッドはアプリウィンドウのサイズが変更されたときに呼び出されるため、このメソッドを使用してアプリのレイアウトを調整できます。
Windows 11では、ユーザーはアプリウィンドウの右下隅をドラッグしてウィンドウのサイズを変更できます。Viewクラスを使用する場合、ウィンドウのサイズ変更を処理する方法は2つあります。
Windows 11ではユーザーがデバイスの画面の向きを変更できるため、クラッシュすることなくアプリで画面の向きの変更を処理できることが重要です。これを実現するには、AndroidManifest.xmlファイルでアクティビティにandroid:configChanges="orientation|screenSize"を追加します。これにより、アクティビティを再起動することなく、アプリで画面の向きの変更を処理できます。
アプリでJetpack Composeを使用している場合、サイズ変更の動作はアプリウィンドウのサイズと使用しているレイアウトによって異なります。Composeのレイアウトコンポーザブル(Box、Row、Columnなど)を使用して、アプリのコンポーネントをレイアウトできます。詳細については、Composeレイアウトの基本を参照してください。
アプリの準備とテストが完了したら、お問い合わせページからアプリのWSA申請アクセスをリクエストしてください。 リクエストが承認されたら、Amazonアプリストア開発者コンソールにログインし、マイアプリの一覧からアプリを選択します。 アプリの詳細ページで、[サポート対象デバイスの数]の横にある [表示] をクリックします。[デバイスサポート] セクションで、[Windowsデバイス] タブに移動し、対象のWindowsデバイスを選択し、申請を完了します。
· 問題点についてコミュニティで開発者が議論する場合、不具合の報告や、機能追加のリクエストがある場合は、Android用WindowsサブシステムのGitHubリポジトリを参照してください。