Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
Ring
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート

Vega SDKリリースノート

Vega SDKリリースノート

Vega SDKの評価をお聞かせください。

Vega SDKバージョン0.24

Vega SDK 0.24リリースでは、Vega向けReact Nativeバージョン0.83が導入されています。これはReact Nativeのより新しいバージョンで、互換性の強化、パフォーマンスの向上、開発者エクスペリエンスの改善が施されています。0.24ではさらに、CLIからの開発者モードの認証が可能になり、WebViewのメジャーバージョンアップグレードが含まれ、新しいaccessibility-settingsターボモジュールが追加されています。

今回のリリースでは、Vega Fire TV StickにOS 1.2(2101020054720)が必要です。これはVega SDK v0.24.xと互換性があります。デバイスのソフトウェアのバージョンは、[My Fire TV] > [バージョン情報] に移動することで確認できます。

お知らせ

Vega向けReact Native 0.83の提供開始

このリリースには、Vega向けReact Nativeバージョン0.83の早期アクセスが含まれています。アプリとライブラリの開発者は、既存のReact Native 0.72プロジェクトから、より新しいバージョンのReact Nativeへの移行を開始できます。Vegaを対象とする多数の既存のReact Nativeライブラリがサポートされ、ドキュメントと更新されたリファレンスアプリが用意されています。Vegaでの開発を始めたばかりの開発者向けに、このバージョンには、React Native 0.83をベースとして更新された新しいアプリテンプレートが含まれています。

React Native 0.83にはさまざまな新機能があります。たとえば、React 19とReactコンパイラ(手動でのmemoizationが不要)、実行時のパフォーマンスの向上と起動の高速化を実現するHermes v1、Yoga 3.xによるCSSに沿ったレイアウト動作、Flipperに代わる新しいReact Native DevToolsを使用できます。また、Metroバンドラーの起動が約15倍高速化されているほか、boxShadowやfilterなどの新しいスタイルプロパティが追加されています。このリリースでは密度非依存ピクセル(DIP)にも対応し、異なる画面密度間で一貫したサイズのUIを構築できます。さらに、並列レンダラー(Fabric)がデフォルトで有効になるため、複雑なUIの遷移中にもスムーズな対話操作が可能です。

React Native 0.72は引き続きサポートされるため、開発者の都合に応じて移行のタイミングを選択できます。

RN 0.83と互換性のあるReact Nativeコミュニティライブラリの一覧については、サポート対象のライブラリとサービスを参照してください。

必要な対応: 0.83へのアップグレードを計画してください。既存のRN 0.72アプリはそのまま機能します。移行の準備ができたら、移行ガイド、AIを活用するアップグレードツール、更新されたサンプルアプリを参照して移行を開始します。

Vega向けReact Nativeリファレンスを参照してください。

アプリのマニフェストに必要なOSバージョン

Vega SDK 0.24では、アプリのマニフェストでOSのターゲットバージョンと最小バージョンを宣言する必要があります。今回のリリースで利用できるバージョンはVega OS 1.2だけなので、両方のバージョンを1.2に設定してください。

バージョンを追加するには、次のコマンドを実行してから、アプリを再ビルドします。

クリップボードにコピーしました。

vega project update-manifest --os-min 1.2 --os-version 1.2

このコマンドの--os-minは、アプリの動作に必要な最小のOSバージョンを示します。Amazonアプリストアは、この値よりも前のバージョンのVega OSが搭載されたプラットフォームへのアプリの申請とインストールを防止します。--os-versionは、ターゲットバージョンとして推奨され、アプリとの互換性がテストされているVega OSバージョンを示します。今後、Vega OSの新しいバージョンが導入されるにつれて、システムの一部の動作が変更されることがあります。このターゲットバージョンは、システムにとって、アプリとの互換性を保つためにフォールバック動作を有効にする必要があるかどうかを判断するヒントとなります。

このコマンドを実行すると、[os.version]セクションと必要なモジュールエントリが追加され、変更内容が報告されます。

📋 OS Version: min=1.2, target=1.2
   OS-version modules: 1 need (at min), 0 wants (up to target)

✅ Updated manifest.toml with the [os.version] block and 1 need.Your @amazon-devices/* package entries are regenerated when you build.

manifest.tomlに手動でセクションを追加することもできます。次の例に示すように、[[needs.module]]セクションにOSを追加し、新しい[os.version]セクションにターゲットバージョンと最小バージョンを追加します。

クリップボードにコピーしました。

[[needs.module]]
id = "/com.amazon.vega.os@IVega_1_2"

[os.version]
target = "1.2"
min = "1.2"

このセクションがない場合、ビルドは次のようなエラーで失敗します。

Missing [os.version].target.A Vega application must declare its OS version.Add to manifest.toml: [os.version] target = "<version>" min = "<version>" Or run: vega project update-manifest --os-version <version> --os-min <version>
Missing [os.version].min. Declare both min and target in [os.version].
Vega operation FAILED due to an irrecoverable error: vega build refused: 2 OS-version compliance error(s) in manifest.toml.See above.

必要な対応: [os.version]セクションを追加し、mintargetの両方を1.2に設定します。

Intel Mac(x86_64)のサポートの終了

SDK 0.24は、Intel Mac(x86_64)をサポートする最後のバージョンです。サポートは2026年12月15日に終了します。SDKのアップデート、セキュリティパッチ、テスト済みのビルドに引き続きアクセスするには、それまでにApple Silicon MacまたはUbuntu x86_64に移行する必要があります。Intel macOSランナーで実行されるCI/CDパイプラインも同様です。

試験的なAPIの将来的な廃止

Vega SDKは試験的なAPIを公開していますが、今後行われるオープンベータからの移行の一環として、これらのAPIは廃止される予定です。これらの試験的なAPIは、SDK 0.24リリースでは引き続き使用できますが、廃止予定の段階にあり、将来的には完全に削除されます。

必要な対応: アプリで試験的なAPIを使用している場合は、今後のSDKリリースで、それらのAPIを使用しないように移行することを計画してください。

新機能

CLIからの開発者モードの認証

Vegaデバイスで開発者モードを有効にするときに、開発者ポータルから手動で許可リストに登録する代わりに、CLIから直接有効化できるようになりました。vega devmode loginを実行し、開発者の認証情報を使用して認証します。デバイスは自動的に開発者の組織に関連付けられます。組織はいつでも切り替えることができます。

開発者モードの有効化を参照してください。

仮想デバイスでレンダリングされたUIのキャプチャ

Vega仮想デバイスから、テキストをコピーしてデバイスに貼り付けたり、レンダリングされたUIコンテンツをダンプしたりできるようになりました。画面に表示されている内容のテキストのみの表現や完全なビュー階層ツリーをキャプチャして、ホストコンピューター上のファイルに保存できます。開発者がほかのエミュレーターに求める検査ツールとほぼ同等の機能が仮想デバイスに搭載されたことで、レイアウトやフォーカスの問題のデバッグが容易になります。

Vega仮想デバイスでのアプリの実行を参照してください。

仮想デバイスでのペアレンタルコントロールの統合

仮想デバイスでペアレンタルコントロール(PCON)の統合がサポートされるようになりました。ローカルでの開発中およびテスト中に、物理デバイスがなくてもペアレンタルコントロールの動作を試すことができます。

Vega仮想デバイスでのアプリの実行を参照してください。

ユーザー補助機能の設定ターボモジュール

KeplerA11ySettingsInterfaceTurboは、ユーザー補助機能の設定を取り扱う@amazon-devicesスコープの新しいターボモジュールです。これにより、React Nativeアプリから、クローズドキャプションのスタイルやその他のシステムユーザー補助機能の設定へのプログラムによるアクセスが可能になります。これを利用するアプリでは、実行時にクローズドキャプションのフォント、色、背景スタイルを照会して、視聴者のシステムユーザー補助機能の設定を反映したキャプションをレンダリングできます。ユーザー補助機能の設定を必要としないアプリには影響はありません。設定の読み取りはアプリで自由に行うことができます。ユーザー補助機能の値の設定は、実行時の権限によって制限されます。

Vegaユーザー補助機能の設定を参照してください。

機能改善

GitHubのReact Native 0.83リファレンスアプリ

公開リファレンスアプリがReact Native 0.83向けに更新され、オープンソースのサンプルリポジトリの専用ブランチに公開されました。リファレンスアプリはRN 0.83ツールチェーンのデモを示し、アップグレードを評価しているチームにとって実際の移行例として役立ちます。

サンプルアプリを参照してください。

React Native 0.83用のWebView 4.0.0

v0.24のWebViewはChromium 144をベースとし、React Nativeの2つのトラックをサポートします。 このため、RN 0.72用のWebView 3.5.7と、RN 0.83用のWebView 4.0.0+(4.0.2でリリース)があります。WebView 4.0.xの機能には、ウェブ機能(JavaScriptのアラートダイアログ、Web Audio API)や、デフォルトのクリアテキストHTTPのセキュリティポリシーが含まれます。RN 0.72用のWebViewは今後のリリースで廃止される予定です。できるだけ早くアプリをRN 0.83に移行してください。依存関係を"@amazon-devices/webview": "~4.0.2"に更新し、npm installを実行します。

Vegaウェブアプリを参照してください。

解決済みの問題

Apple Silicon Macでのリグレッション:仮想デバイス、デバイス上での起動、IDEのデバイス検出

Apple Silicon(Mシリーズ)Macでの一連のブロッカーをたどると、いずれも同じ1つの根本原因に行き着きました。つまり、デバイスアダプターに変更が加えられ、圧縮ライブラリが動的リンクに切り替えられましたが、その動的ライブラリが開発コンピューターに存在しないため、起動時にアダプターバイナリがクラッシュしていました。多くのツールがデバイスアダプターに依存していることから、このクラッシュによって3つの問題が一度に引き起こされました。仮想デバイスがブート制限時間内に起動できず、接続されたデバイスへのアプリのデプロイが失敗し、接続されたデバイスがIDEのデバイスの一覧に表示されませんでした。静的リンクに戻すことで、3つの問題はすべて修正されました。

デバッグバリアントでのビデオ再生の復旧

デバッグビルドのメディアアプリで、読み込み中の画面でハングが発生したり、空白のビデオサーフェスでオーディオだけが再生されたりすることがありました。これは、React Nativeでのイベント名の正規化方法がRN 0.72とRN 0.83で変更されたことが原因でした。ネイティブのメディアサーフェスイベントがJavaScriptレンダラーに届かなくなったため、ビデオサーフェスが作成されませんでした。メディアライブラリは、両方の命名規則に従って各イベントをディスパッチするようになりました。これにより、デバッグビルドと古いアプリバンドルアプリでの再生動作が復旧します。開発者側でコードを変更する必要はありません。

WebViewの再生とレンダリングに関する修正(WebView 4.0.x)

WebView 4.0.xでは、RN 0.83トラックでのメディアとレンダリングに関する一連の問題が解決されています。

  • 一部のライブストリームで、ビデオ再生がビデオウィンドウにフィットしない問題が修正されました。
  • 保護されたメディアの再生中に、再生が正常に動作しない問題が修正されました。
  • コンテンツをスクロールした後、ビデオが押しつぶされたように表示されたり、サイズがおかしくなったりする問題が修正されました。
  • 複数の広告が順番に再生された後、ビデオ/オーディオがフリーズする問題が修正されました。
  • 無効なユーザーエージェントが原因でサービスワーカーの登録に失敗する問題が修正されました。
  • Bluetoothオーディオデバイスの遷移中に画面が空白になる問題が修正されました。

vega exec <ツール> --versionで報告されるツールバージョンの修正

v0.22で生じたリグレッションが原因で、vega exec <ツール> --versionは、基になるツールのバージョンではなくCLI/SDKのバージョンを出力していました。現在のCLIは、第一引数が既知のCLIコマンドである場合を除き、versionフラグとhelpフラグをターゲットのツールに渡すようになり、想定どおりの動作に戻っています。回避策のスクリプトを作成している場合、v0.24では単純にvega exec <ツール> --versionに戻すことができます。

vega device copy-logsによるベアアーティファクト名の処理

vega device copy-logs --artifact <名前>は、アーティファクトがプロバイダーサフィックスなしで渡されると常に回復不可能なエラーで失敗していました。これは、SDKでアーティファクトインデックスがundefinedに置き換えられていたためです。入力が検証されるようになり、正しく解決されるか、対応可能なエラーが返されるようになりました。文書化されている「アーティファクト/プロバイダー」という長い形式は変わらずに機能します。

既知の問題

Chrome DevToolsはReact Native 0.83でサポートされない

React Native 0.83をターゲットにする場合、Chrome DevTools(CDT)のデバッグ機能はサポートされません。RN 0.83をプレビューしている場合は、CDTの代わりにReact Native DevTools(RN 0.83に付属)をデバッグに使用してください。これはRN 0.83にアップグレードするアプリに適用されるもので、RN 0.72のプロジェクトには影響はありません。

このリリースでは、ネイティブのCookieマネージャー(ICookieManager)が初期化されないため、Cookieの操作(setgetclear)は「Cookie Manager not found」というエラーで失敗します。この問題により、CookiesライブラリのAPIは一部しか機能しません。起動に不可欠なアプリフローには影響はありません。完全なサポートは将来のリリースで予定されています。

中核となるナビゲーションは期待どおりに動作し、画面遷移、スタックルーティング、タブルーティングはいずれも正しく機能します。ただし、表示に関する軽微な問題がいくつか残っています。

  • サブサンプルから戻った後、画面に黒いストライプまたはオーバーレイが表示されます。
  • ドロワーまたはマテリアルトップタブを開いた後に、そのコンテンツが左に移動します。
  • 一部のスタックナビゲーター画面で、テキストが完全には表示されません。

完全な表示のサポートは将来のリリースで予定されています。

React Native 0.83でヘッドレスタスクがクラッシュする

React Native 0.83をターゲットとし、自身の[[processes.group]]内で[[components.task]]または[[components.service]]を実行するアプリが、起動時に「ReferenceError: Property '__DEV_RUNTIME__' doesn't exist」というエラーでクラッシュすることがあります。メッセージレシーバー、EPG同期、インストールタスクなど、影響を受けるヘッドレスタスクはエラーを通知せずに失敗します。このため、バックグラウンドメッセージは配信されず、データは同期されません。対話型アプリの機能には影響はありません。修正は将来のリリースで予定されています。

一時的に回避するには、アプリのpackage.jsonkeplerセクションに"useSystemJsBundlesForHeadlessJs": falseを追加して、ヘッドレスバンドルを自己完結型としてビルドします。

"kepler": {
  "projectType": "application",
  "appName": "YourAppName",
  "targets": ["tv"],
  "useSystemJsBundlesForHeadlessJs": false
}

これにより、すべてのポリフィルがヘッドレスタスクまたはサービスに直接バンドルされます。対話型アプリのバンドルは引き続きシステムバンドルを使用するため、サイズと起動時間は変わりません。ヘッドレスバンドルはサイズが100~300KBほど大きくなり、起動もわずかに遅くなります。この回避策には、KeplerCLIPlatform 0.22.14以降が必要です。修正が提供されたらフラグを削除してください。

重要: この回避策は、RN 0.83への移行と開発を進められるようにすることを目的としたものです。ヘッドレスタスクのシステムバンドルの最適化が無効になるため、この回避策を使用するアプリはAmazonアプリストアに申請しないでください。修正が提供されれば、本番環境をターゲットとするアプリを回避策なしで公開できるようになります。

expo-imageライブラリが、実行時に「Failed auto-linking libexpo-image-2.so: cannot open shared object file: No such file or directory」というエラーでクラッシュすることがあります。これは、expo-imageの特定のターボモジュール機能を使用したときに発生します。自動リンク構成のライブラリ名が正しくないため、クラッシュが引き起こされます。修正は将来のリリースで予定されています。

setNativePropsはReact Native 0.83でサポートされない

React Native 0.83でsetNativeProps()を呼び出すアプリは、「TypeError: undefined is not a function」というエラーでクラッシュします。setNativePropsはレガシーAPIであり、Fabricレンダラーではサポートされません。これは、アップストリームのReact NativeのiOSとAndroidにおける動作と同じです。

必要な対応: setNativeProps()の呼び出しを、宣言的な状態駆動のプロパティに置き換えます。たとえば、コンポーネントのスタイルを更新するには、命令的な方法の代わりにReactのstateを使用します。これはReact Nativeの公式移行ガイダンスに従った手法です。

Expoライブラリはまだ安定していない

Vega OSには以下のExpoライブラリが含まれていますが、RN 0.83ではまだ安定していないか、移行が完了していません。これらはv0.24のSDKをターゲットとするアプリでは正しく機能しません。これらのライブラリに依存している開発者は、今後のリリースで安定するまで引き続きRN 0.72を使用するか、以下に示す代替手段を検討してください。

  • @amazon-devices/expo-font - 現時点では代替手段はありません。
  • @amazon-devices/expo-gl - 現時点では代替手段はありません。
  • @amazon-devices/expo-image-manipulator - 現時点では代替手段はありません。
  • @amazon-devices/expo-notifications - 現時点では代替手段はありません。
  • @amazon-devices/expo-splash-screen - Vega SplashScreenManager APIを使用してください。
  • @amazon-devices/expo-sqlite - 直接的な代替手段はありません。安定化が予定されています。
  • @amazon-devices/expo-system-ui - ルートのViewの背景色スタイルを使用してください。

Last updated: 2026年8月6日