as

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

Vega SDKリリースノート

Vega SDKリリースノート

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

Vega SDKバージョン0.21

Vega SDK v0.21では、大幅な変更と機能改善が導入されています。主なハイライトには以下があります。

  1. Vega仮想デバイス(VVD): 「シミュレーター」が再構築され、名称が変更されました。ユーザーインターフェイス(UI)の改良、Fire TV Stickのリモコン機能に対応するキーボードコントロールの追加、エラー処理の改善が行われています。
  2. テレメトリフレームワーク: すべてのVegaツールにわたる包括的なドキュメントが用意されました。デフォルトでテレメトリが有効になり、オプトアウト手順が簡略化されました。また、プライバシー規約が改善され、Visual Studio Code(VS Code)との統合も強化されました。
  3. 開発者ツール: Ubuntu 24のサポートが追加されたほか、Vega StudioがVS Codeマーケットプレイスで提供されるようになりました。また、エラーメッセージシステムが改善されました。
  4. パフォーマンス分析: パフォーマンスチェックが組み込まれたESLintプラグイン、システムトレースを分析するPerfetto UIの統合、データを視覚化するためのカスタムのファイルタイプエディターが追加されました。
  5. 新しいパフォーマンスKPI: ビデオ/UIのフレームドロップのトラッキングと、アプリのイベントレスポンス時間の測定が実装されました。測定値には、スクロール時の入力キー遅延時間と、連続したフレームドロップのカウントが含まれます。
  6. 開発者エクスペリエンス: マニフェストの検証が改善され、リアルタイムのフィードバック、より適切なエラーメッセージ、合理化された開発ワークフローが提供されるようになりました。

また、Login with Amazonを使用する認証フローの改善、ビデオ再生とキャプションに関連する複数の問題への対処に加えて、ストリームのフリーズ、ミッドロール広告の遷移、キャプションの配置に関する問題も解決されました。さらに、重要なサービスの登録処理、タイマーの管理、リソースの競合が修正され、システムの安定性が大幅に向上しました。これらの改善により、より堅牢で安定した開発エクスペリエンスとユーザーエクスペリエンスが提供されます。

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

お知らせ

VegaプライベートNPMパッケージからパブリックレジストリへの移行

Vega NPMパッケージがプライベートレジストリからパブリックNPMレジストリに移行しました。名前空間は@amznから@amazon-devicesに変わります。この変更により、トークンの要件が廃止され、開発プロセスが簡素化されます。

移行の主な利点

  • 開発の簡素化: 開発者は、Vega開発用に.npmrcトークンを構成する必要がなくなりました。
  • ライブラリへのアクセスの向上: パブリックレジストリから簡単にSDKにアクセスできるようになりました。
  • 名前空間の整理: @amznの外部使用は終了する予定です。ただし、一時的に2つの名前空間が使用される期間が生じます。

GitHubでのサンプルリファレンスアプリの公開

サンプルアプリをAmazonのGitHubスペースに移行する作業が開始されました。これにより、アクセストークンなしで直接ダウンロードにアクセスできるようになります。

Vega仮想デバイス(VVD)の強化

Vega SDK v0.21では、Vega仮想デバイス(VVD)とVega CLI(VCLI)に改良が加えられ、コマンドの合理化、ユーザーエクスペリエンスの向上、Vega Studio拡張機能の更新、新しいキーボードコントロールの追加、エラー処理の改善が行われています。

名前とコマンドの更新

Vega仮想デバイスの識別子がVirtualDeviceになりました。すべてのツールとインターフェイスで、Simulatorという識別子が置き換えらえます。Simulator識別子のサポートは2025年11月に終了します。この変更が適用される前に、VirtualDeviceの使用を開始してください。

KVDインターフェイスの更新

KVDインターフェイスが再設計され、以下が追加されました。

  • Amazonサービスを使用しない限り登録は任意であることを明確に伝えるメッセージ。
  • 一貫性のあるスタイル(色、間隔、タイポグラフィ)。
  • 使いやすさを向上させる、便利なツールチップと情報を提供する要素。

Vega Studio拡張機能の更新

  • コマンドパレットで、「Simulator」が「Vega Virtual Device」に変更されました。
  • [Devices] セクションで、「Simulator:TV」が「VirtualDevice:Tv」に変更されました。

新しいキーボードコントロール

Vega仮想デバイスにキーボードマッピング機能が追加され、Fire TV Stickのリモコン機能をキーボードショートカットで制御できるようになりました。詳細については、Vega仮想デバイスのドキュメントを参照してください。

エラー処理の改善

デバイス関連の操作が失敗した場合の汎用の結果コードが詳細なエラーメッセージに置き換えられ、問題の診断とトラブルシューティングを行いやすくなりました。

テレメトリドキュメントの更新

テレメトリ収集とサポートドキュメントが包括的に更新され、Vegaツールにおけるデータ収集の透明性と制御性が向上しました。

主な更新:

  • Vega Studio、Vega CLI、Vega仮想デバイス、VegaパフォーマンスCLI、Vega Appiumドライバーなど、すべてのVegaツールにわたるテレメトリ収集の詳細な内訳が提供されるようになりました。
  • 開発者がオプトアウトするための手続きが簡略化されました。

重要な変更:

  • Vega SDKで、テレメトリがデフォルトで有効になりました。
  • {$KEPLER_SDK_PATH}/state/kepler-telemetry/config.jsonに新しい構成オプションが用意されました。
  • プライバシー規約とデータの使用に関する説明が改善されました。
  • Vega Studioユーザー向けにVS Codeのテレメトリ設定との統合が行われました。

詳細については、Vegaツールでのテレメトリの管理を参照してください。

この更新は、Vegaの開発エクスペリエンスを高めつつ、テレメトリ収集における透明性と開発者の選択を重視するという当社の取り組みを反映したものです。

Vegaウェブアプリの更新

WebViewを使用している開発者は、package.jsonファイルを変更する必要があります。詳細については、Vegaウェブアプリの依存関係の更新を参照してください。

開発者ツール

Vega v0.21では、Vega開発者ツールに以下の機能改善が導入されています。

  • Vega仮想デバイスにUbuntu 24のサポートが追加されました。
  • VS CodeマーケットプレイスにVega Studioが追加されました。
  • ESLintプラグインが追加されました。ESLintプラグインは、Vega Studioツール(CLIおよびUI)にあらかじめ組み込まれたパフォーマンスチェックを使用して、FlatListの使用方法、スプラッシュスクリーンの欠落、console.logなど、コードレベルのよくある問題を自動的に検出します。チェックは、必須(エラー)と推奨(警告)に分類されます。開発者は、アプリの申請時にテストの証明を提出して、必須テストに合格したことをAmazonアプリストアチームに伝えることができます。
  • 新しいパフォーマンスモニタリングKPIが追加されました。これには、ビデオ/UIのフレームドロップのトラッキングと、アプリのイベントレスポンス時間の測定が含まれます。これらのKPIにより、再生の滑らかさと操作の応答性をより適切に評価できます。
    • 3+ and 5+ Video Consecutive Dropped Fames: アプリでのビデオ再生中に、5回以上連続でフレームがドロップした件数をカウントします。これは、再生が著しく不安定であることを示します。
    • 5+ Consecutive UI Dropped Frames: アプリでのスクロール操作中に、5回以上連続でフレームがドロップした件数をカウントします。この場合、UIの滑らかさが大幅に損なわれます。たとえば、垂直スクロール中や水平スクロール中に発生します。
    • App Event Response Time - Focus: フォーカスイベント(onFocus/onBlur)について、ネイティブUIスレッドとJavaScriptスレッド間のスケジュール遅延時間を測定します。スケジュール遅延時間が200ミリ秒を超える場合は、JavaScriptスレッドの負荷が高くなっていることを示し、アプリの応答性に影響が生じます。
  • アプリの滑らかさの評価を改善するために、入力キー遅延時間(スクロール)トラッキングKPIの測定が追加されました。
  • 特定のファイルタイプ用のカスタムエディターが追加され、開発者がIDEでファイルをダブルクリックしてデータを視覚化できるようになりました。
  • エラーメッセージシステムが改良され、環境設定の問題に対して詳細でアクション可能なフィードバックが提供されるようになりました。このため、開発者は、CLIとVega Studioのパフォーマンスツールを使用して自分でトラブルシューティングを行うことができます。
  • Vegaマニフェストの検証が改善されました。Vegaのmanifest.tomlファイルがリアルタイムで検証され、エラーや形式の問題に関するフィードバックが即座に直接VS Code上で提供されます。
  • Vega StudioのPerformance Extensionの一部としてPerfetto UIが直接統合され、システムトレースの分析にワンクリックでアクセスできるようになりました。既存のChrome Dev Toolsの統合と同じく、追加のセットアップ要件はありません。

Vegaウェブアプリの依存関係の更新

WebViewを使用してアプリを開発する場合は、アプリのpackage.jsonファイルを変更して、次の依存関係を含めてください。

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

"dependencies": {
    "@amzn/webview": "^3.0.0",
    --------------------
},

アプリの依存関係をインストールするには、次のコマンドを実行します。

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

npm install

詳細については、Vegaウェブアプリの概要を参照してください。

サードパーティライブラリ

  • サードパーティライブラリの移植に関するガイドライン: サードパーティライブラリの移植に関するガイドラインが追加されました。このガイドラインは、ライブラリ開発者がライブラリにVegaサポートを追加する場合に役立つ詳しい情報を提供します。

機能改善

  • システム、デバイス、ログに関する診断情報を収集するバグレポートツールが追加されました。この情報はコンピューター上のファイルとして保存され、サポートチケットを送信するときに添付できます。詳細については、Vega Studioのセットアップと使用方法を参照してください。
  • Appiumコマンドにpush_filepull_fileinstall_appactivate_appterminate_appremove_appが追加されました。説明と使用方法については、Appiumコマンドを参照してください。
  • デバッグフローに、アプリが応答しない状態(ARN)に対するタイムアウト管理が追加されました。これにより、行単位のネイティブデバッグセッション中にライフサイクルマネージャー(LCM)によってアプリが強制終了されるのを防ぐことができます。
  • 字幕ウィンドウの位置とテキスト配置の境界線のパディング、垂直に積み重ねるロジック、行の調整の計算が改善され、テキストが重なったり境界線がくっついたりすることがなくなりました。
  • TVプラットフォームでのLogin with Amazon(LWA)のエクスペリエンスを強化するために、同意ページの表示と視覚的なスケーリングが改善されました。これにより、TV画面での読みやすさとアクセシビリティが向上した認証エクスペリエンスをユーザーに提供できるようになりました。
  • デバイスでペアレンタルコントロールが有効になっている場合に発生していた、Login with Amazon(LWA)フローに関連する認証エラーが修正されました。
  • Vega向けReact Nativeのスレッドモニターで発生していたミューテックスロックの問題が解消され、UIスレッドのハングが修正されました。
  • スタックナビゲーターのアニメーションの問題を解決することで、アプリのナビゲーションのクラッシュが修正されました。この結果、回避策としてアニメーションを無効(animationEnabled: false)にする必要はなくなりました。
  • ARNTimerでのハンドルの再利用が原因でclearIntervalが誤ったタイマーをクリアする場合があるという、TimingModuleの問題が修正されました。これにより、タイマー管理の競合状態とsetIntervalインスタンスの孤立化が解決されました。
  • アプリでのホームタイルのナビゲーション中にUIがちらつく問題が修正され、視覚的なアーティファクトのないスムーズな遷移が実現されました。
  • ビデオオンデマンド(VOD)コンテンツの再生中に字幕を有効にすると、アプリがクラッシュする問題が修正されました。
  • ミッドロール広告の後にビデオがフリーズする問題が修正されました。これは、メディアプレーヤーの初期化解除中、デッドロックが原因でアプリが応答しない状態(ANR)になる問題を解決することで達成されました。
  • 構成の余分なオーバーライドが排除され、ビデオストリームがフリーズする問題が修正されました。また、トラックバッファーのシークロジックが修正され、再生中にギャップが正しく処理されるようになりました。
  • コンテンツの再生中にアプリがクラッシュする問題が修正されました。これを達成するために、キャプショントラック管理での競合状態を防ぐ同期処理が追加されました。
  • ServiceRegistrarの接続処理の問題が修正されました。バインド解除操作の失敗時に保留中の接続を保持し、古い接続に対するタイムアウト管理を実装することで、サービスが適切に回復されるようになりました。
  • LCMによるマップサービスの不適切な終了を引き起こしていたリソース管理の競合が解決され、音楽再生の問題が修正されました。サービスが早すぎるタイミングで終了されるのを防ぐために、リソースマネージャーとライフサイクルマネージャー間の連携が改善されました。
  • React Nativeのw3cmediaパッケージをバージョン2.1.80にアップグレードした後、ビデオの再生中に画面に緑色のアーティファクトが発生していた問題が修正されました。
  • アプリを切り替えてTVの電源をオフにした後、再び電源をオンにしたときに、黒い画面が表示されていた問題が修正されました。アプリの状態が正しく復元され、ランチャーが表示されるようになりました。
  • 安定性の問題が解決され、長時間のHLSコンテンツの再生中に発生していたアプリのクラッシュが修正されました。
  • キャプションテキストがクリッピングされる問題が修正されました。これは、テキストを表示するウィンドウのサイズの自動計算中、不要なウィンドウパディングを削除することで達成されました。
  • 機能しないメディアコントロールボタンがアプリで使用されていた問題が修正されました。
  • メッセージルーターのコマンドがenforce-securityコマンドと同時に実行されているときにVODコンテンツを再生すると、アプリのクラッシュが発生していた問題が修正されました。
  • キャプションキューの開始時間と終了時間が同じ場合に、アプリで字幕が正しく配置されなかったり、字幕のテキストが表示されなかったりする問題が修正されました。

既知の問題

  • バイナリ形式のパフォーマンスツールは、最新バージョンのUbuntu OS(22、24)では動作しません。

    回避策: Amazonの担当者に連絡するか、フォーラムに質問を投稿すると、Pythonソースコードを使用してUbuntuデバイスでパフォーマンスツールを実行するためのzipファイルとインストーラースクリプトを入手できます。

  • Activity MonitorをVega Studioから起動した場合に、デバッグバリアントのアプリのホット関数が表示されません。

    回避策: ホット関数を確認するには、VLCMコマンドを使用してアプリを起動します。

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

    vlcm launch-app orpheus://<アプリのURL>
    
  • 長時間のビデオ再生中(1~2時間)に、マップイテレータの競合状態が原因でアプリがクラッシュすることがあります。
  • react-navigationコアの使用時に、リリースビルドでReact Navigationのテーマの背景がデフォルトで白くなります。ただし、デバッグビルドでは正しく動作します。
  • ログインしていない状態での広告の遷移中に、アプリがローメモリキラー(LMK)によって終了することがあります。
  • 右方向のD-Padナビゲーションを使用してビデオの最後までシークすると、Shaka Playerが停止することがあります。
  • BackHandler.exitApp()に続けてすぐにアプリを再起動すると、リリースビルドではクラッシュが発生し、デバッグモードではCannot initialize hmrClient twiceというエラーが発生します。
  • アプリの起動時にスプラッシュ画面が表示されず、アプリの起動中のユーザーエクスペリエンスに影響が生じることがあります。根本的な原因はまだ判明していません。
  • JSON RPCレスポンスのフォーカスプロパティ階層が、実際にフォーカスのある要素と一致しません。これはAppiumのセレクター機能に影響します。
  • リアルタイム生成のキャプションを使用するライブTV放送で、クローズドキャプションが断続的に点滅したり位置が変わったりする問題が発生します。これは読みやすさに影響します。
  • Ubuntuシステム上のVega仮想デバイス(VVD)では、stopアクションとstatusアクションが正しく動作しません。つまり、ユーザーは標準のCLIコマンドやVega Studioを使用してVVDを停止することができません。

    回避策: VVDアプリアイコンを右クリックして [close] を選択するか、VVDユーザーインターフェイスの [x] ボタンをクリックします。

  • 特定のUSBハブやドッキングステーションがホストマシンに接続されている場合、仮想デバイスが起動直後に予期せず終了することがあります。

    回避策:

    1. ホストマシンからすべてのUSBハブを取り外します。
    2. ホストマシンからすべてのドッキングステーションを取り外します。
    3. 仮想デバイスを起動します。
  • Ubuntuでのパフォーマンスツールの互換性。Perf CLIバイナリファイルはUbuntuシステムでは正しく動作しない場合があります。問題が発生している場合は、提供されているパッチバンドルを回避策として使用してください。

    回避策:

    1. パッチバンドルをダウンロードし、スクリプトをインストールします。
    2. 次のコマンドを実行します。

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

       sudo chmod +x install_bundle.sh && ./install_bundle.sh
      
    3. このスクリプトはバンドルをSDKにインストールします。

Last updated: 2025年10月9日