はじめに
Game Saves は、ユーザーがサインインするたびに進捗を利用可能な状態に保つことで、デバイス間をシームレスに移動できるようにします。システムはデータをローカルに保存し、その後デバイスがインターネットに接続されたときにクラウドに同期します。同期が完了すると、ユーザーはサポートされている任意のデバイスで保存されたデータにアクセスできます。XBOX Play Anywhere と Game Saves
XBOX Play Anywhere は Game Saves を使用して、ユーザーが Windows デバイス、XBOX コンソール、PC、ハンドヘルド デバイス間でゲームの進捗をシームレスに共有できるようにします。XBOX Play Anywhere は、一貫したセーブ データの同期に依存しています。ユーザーは、サポートされている任意のデバイスで、中断した場所から再開できます。詳細については、XBOX Play Anywhere を参照してください。Game Saves 開発ライフサイクル
Game Saves 開発ライフサイクルの記事では、信頼性の高いクラウド接続セーブ システムを構築、検証、および保守するための構造化されたパスを提供します。新しいタイトルに Game Saves を導入する方法から始まり、デバッグ、テスト、認定、および公開後のサポートを網羅しています。各段階では、タイトルがデータを一貫して保存し、安全に同期し、デバイス間でシームレスなユーザー エクスペリエンスを提供するために必要な要件、ツール、およびベスト プラクティスを強調しています。 このライフサイクルは、Game Saves の実装が最初のプロトタイプから公開およびそれ以降まで予測可能な動作をするようにするのに役立ちます。 このライフサイクル記事では、Game Saves を計画、実装、検証、公開、および保守する際のエンド ツー エンドのフローを説明しています。このライフサイクルは以下のように説明されます。- Game Saves を使い始める: Game Saves の概念、API、ストレージ モデル、およびプラットフォーム要件による初回オンボーディング。
- 新しいタイトルのセットアップ: 開発の早い段階で Game Saves を統合します。たとえば、次のような作業があります。
- ユーザー サインインに依存する初期化の追加。
- サービス構成識別子 (SCID) や Microsoft アカウント (MSA) の App ID (MSAAppID) などの識別子の構成。
- ストレージ設計とコンテナー構造の確立。
- 開発中の問題のデバッグ: 実装初期の問題をトラブルシューティングします。次のような問題が発生する可能性があります。
- SCID 構成の問題
- ハンドル ライフタイムの問題
- クォータ/メモリの問題
- NTSTATUS エラーの解釈
- テスト計画: 構造化されたテスト計画を定義します。たとえば、次の領域をテストします。
- データの読み書きの正確性
- オフライン動作
- 同期ロジック
- システム ダイアログ フロー
- マルチデバイス シナリオ
- テスト シナリオ: 詳細な機能テストとストレス テストを実行します。たとえば、次のような状況でタイトルがどのように動作するかをテストします。
- 接続状態の変化
- 競合状態
- ユーザー切り替え
- 破損処理
- ストレージ制限のエッジ ケース
- タイトルを公開に向けて準備する: 公開前に Game Saves の構成を最終化します。この作業には通常、次のタスクが含まれます。
- Microsoft パートナー センターのセットアップの検証
- タイトルが正しいクォータを使用していることの確認
- システム ダイアログが期待どおりに機能することの確認
- タイトルが安全な書き込みパターンを使用していることの検証
- 認定要件: XBOX の認定要件を満たします。これには、たとえば次のようなものが含まれます。
- 適切な同期動作。
- 接続状態の変化の管理。
- ユーザー データと個人を特定できる情報 (PII) のルールへの準拠。
- 公開後の問題管理: ライブ サイトの問題を監視して解決します。次のような状況に遭遇する可能性があります。
- 同期失敗。
- ユーザー データ損失の報告。
- ストレージ制限の問題。
- 移行シナリオ: シナリオには次のような項目が含まれます。
- ストレージ レイアウトの更新
- Game Saves API 間の移動
- タイトル バージョン間の移行
Game Saves ドキュメント セット
このドキュメント セットは、完全な Game Saves エコシステムを理解し、実装するのに役立ちます。このセットでは、API がどのように動作するか、ユーザー モデルおよびプロセス ライフタイム管理 (PLM) がセーブ データ フローをどのように形成するか、およびストレージ システム、クォータ、およびオフライン動作が設計にどのように影響するかを説明しています。また、テストとデバッグのガイダンスも提供し、ユーザーが遭遇する可能性のあるシステム ダイアログを説明し、公開前に満たす必要のある認定要件を概説しています。Game Saves 開発者ガイド
この記事では、Game Saves エコシステムの概要と、利用可能な API、ユーザー モデル、PLM、セキュリティ/PII ガイダンス、認定要件、ストレージ制限の詳細などの主要な開発者向けの考慮事項を提供します。Game Saves の同期フローについて
この記事では、コンテナー/フォルダー レベルでの原子性と 6 段階の同期フローに加え、オフライン モードの動作とマシン専用プロバイダーの使用について説明します。Game Saves ストレージ システム
この記事では、さまざまなストレージ コンテキストの概要を説明します。タイトル ストレージ (クラウド)、ローカル セーブ ストレージ、マシン プロバイダー ストレージ、およびタイトルごとのクォータとコンソール固有のローカル ストレージの詳細について取り上げます。Game Saves システム ダイアログ
この記事では、Game Saves 操作を行うときにユーザーが遭遇する可能性のあるシステム ダイアログについて説明します。Game Saves のチュートリアルとサンプル
この記事では、パートナー センターの設定方法、および一時ファイルに書き込んでそれを原子的に置き換えるといった安全な書き込みパターンの使用方法について説明します。オフラインおよびオフネットワーク シナリオの管理方法と、システム ダイアログ フローの使用方法についても説明します。さらに、使用中のデバイスで Game Saves データを管理し、クラウド同期の動作をテストし、タイトル間または API 間で移行する方法を説明します。Game Saves のデバッグ
この記事では、一般的な Game Save エラーとトラブルシューティング手順について説明します。SCID の問題、ハンドル ライフタイムのベスト プラクティス、クォータとメモリの制限、および Win32 のNTSTATUS コードの解釈方法などが含まれます。
Game Saves ツール
この記事では、Fiddler を使用して Game Saves ネットワーク トラフィックを検査する方法を説明します。また、コンソールおよび PC でローカル セーブ データをエクスポートまたはインポートするためのxbstorage と gamesaveutil コマンド ライン ツールの使用方法も示します。
XGameSaveFiles API の概要
この記事では、XGameSaveFilesGetFolderWithUIAsync の初期化フロー、推奨される Win32 の自動クラウド同期セマンティクス、クォータ/デバッグのガイダンス、パフォーマンスのベスト プラクティス、およびよくある質問について説明します。
