構造化メタデータ - Google Play Games サービスでデフォルトの保存済みゲームリスト ユーザー インターフェース(UI)に視覚的にゲームを表示し、有用な情報(最終更新日のタイムスタンプなど)を Google Play Games アプリに表示させるバイナリデータに関連付けられている追加のプロパティ。
保存済みゲームサービスは、永続性に加えて視覚的なユーザー エクスペリエンスを実現します。代表的な画像を対応するセーブファイルに関連付けることを強くおすすめします。ゲームで Play Games SDK に用意されたデフォルトの保存済みゲームリスト ユーザー インターフェース(UI)を使用している場合、UI にはこれらのカバー画像が表示されます。カバー画像は Google Play Games アプリにも表示される場合があります。
クラウドに保存されている保存済みゲームデータについては、デベロッパーは課金されません。代わりに、このデータはプレーヤーの Google ドライブの割り当てにカウントされます。デベロッパーに配慮していただく必要はありません。ゲーム デベロッパーの皆さんに留意していただく必要がある割り当ては、Google Drive API の割り当てのみです。
読み取り / 書き込みの分離
保存済みゲームはすべて、プレーヤーの Google ドライブ アプリケーション データフォルダに保存されます。このフォルダはゲームでのみ読み書きが可能であり、他のデベロッパーのゲームでは表示、変更できないため、データの破損に対する保護を強化できます。また、保存済みゲームは、プレーヤーによる直接の改ざんから保護されており、プレーヤーは個別の保存済みゲームを変更することはできません。
オフライン サポート
プレーヤーのデバイスがオフラインの場合でも、保存済みゲームに対する読み書きは可能ですが、ネットワーク接続が確立されるまで Google Play Games サービスと同期できません。再接続されると、Google Play Games サービスは、Google のサーバーに保存されているゲームデータを非同期で更新します。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-09-01 UTC。"],[],[],null,["Players play on multiple devices and install a game on same device multiple\ntimes. As a result, they always need to start their game from their last\nprogress state. To achieve this, you must implement a cloud save solution in\nyour game.\n\nYour game needs to implement a cloud save solution which has two parts:\n\n1. **Cloud Save**\n\n Save your player's game state to the cloud. Retrieve it when they start the\n game. Play Games Services [Saved Games](#saved-games) provides a service for\n this, but you can use any cloud save solution of your choice.\n | **Note:** If your game supports guest mode, player progress is not saved or restored. This limitation occurs because guest mode is tied to a single device.\n2. **Conflict resolution for multiple game states**\n\n If a user has multiple accounts or if there's a conflict between saved game\n data on their device and in the cloud, you need a conflict\n resolution policy. Usually, the user decides how to resolve these\n conflicts.\n Your conflict resolution policy should address the following key\n scenarios:\n - **Multiple accounts per user:** Handle instances where a single user interacts with the application using different accounts.\n - **State conflicts:** Resolve discrepancies that arise between the local game state and the cloud-saved game state.\n\nSaved games\n\nThe Saved Games service gives you a convenient way to save\nyour players' game progression to Google's servers. Your game can retrieve the\nsaved game data to allow returning players to continue a game at their last\nsave point from any device. \n\nThis service offers several key advantages for both players and developers:\n\n- **Synchronize game data across multiple devices.** For example, a player can start a game on an Android phone and seamlessly continue playing on a tablet without losing progress.\n- **Ensure data persistence.** Players can resume their game even if their device is lost, destroyed, or traded in for a newer model.\n\n| **Note:** Before using the Saved Games service, you must first [enable it in Google Play Console](/games/pgs/console/enable-features#enabling-saved-games).\n\nTo learn how to implement saved games for your platform, see\n[Client implementations](#client-implementations).\n\nSaved Games basics\n\nA saved game consists of two parts:\n\n- An unstructured binary blob - this data can represent whatever you choose, and your game is responsible for parsing and writing to it.\n- Structured metadata - additional [properties](#saved-game-metadata) associated with the binary data that allow Google Play Games Services to visually present Saved Games in the default Saved Games list user interface (UI), and to present useful information in the [Google Play Games app](//play.google.com/store/apps/details?id=com.google.android.play.games) (for example, last updated timestamp).\n\nA game can write an arbitrary number of Saved Games for a single player,\nsubject to [user quota](#quota), so there is no hard requirement to restrict\nplayers to a single save file.\n\nCover images\n\nThe Saved Games service provides a visual user experience in addition to\npersistence features. You are strongly encouraged to associate representative\nimages with corresponding save files. If you are using the default Saved Games\nlist user interface (UI) provided by the Play Games SDK in your game,\nthe UI will display these cover images. The cover images may also appear in the\n[Google Play Games app](//play.google.com/store/apps/details?id=com.google.android.play.games).\n\nDescriptions\n\nYou can provide a short text description of the content of a particular saved\ngame. This description is directly displayed to players and should summarize\nthe state that the saved game represents; for example, \"Fighting the Goblins\nin the Dark Woods\".\n\nQuota\n\nDevelopers are not charged for any saved game data that's stored in the cloud.\nInstead, this data is counted against the player's Google Drive quota - you\nnever have to worry about it. The only quota that game developers need to care\nabout is their Google Drive API quota.\n\nRead Write isolation\n\nAll Saved Games are stored in your players' Google Drive Application Data\nFolder. This folder can only be read and written by your game - it cannot be\nviewed or modified by other developers' games, so there is additional protection\nagainst data corruption. In addition, Saved Games are insulated from direct\ntampering by players so they cannot modify individual Saved Games.\n\nOffline support\n\nYour game can still read and write to a saved game when the player's device is\noffline, but won't be able to sync with Google Play Games Services until\nnetwork connectivity is established. Once reconnected, Google Play Games Services\nasynchronously updates the saved game data on Google's servers.\n\nConflict resolution\n\nWhen using the Saved Games service, your game may encounter conflicts when\nattempting to save data. These conflicts can occur when a user is running more\nthan one instance of your application on different devices or computers. Your\napplication must be able to resolve these conflicts in a way that provides the\nbest user experience.\n\nTypically, data conflicts occur when an instance of your application is unable\nto reach the Saved Games service while attempting to load data or save it. In\ngeneral, the best way to avoid data conflicts is to always load the latest data\nfrom the service when your application starts up or resumes, and save data to\nthe service with reasonable frequency. However, it is not always possible to\navoid data conflicts. Your application should make every effort to handle\nconflicts such that your users' data is preserved and that they have a good\nexperience.\n\nLimits\n\nGoogle Play Games Services enforces size limits on binary data and cover\nimage sizes of 3 MB and 800 KB respectively.\n\nSaved game metadata\n\nThe structured metadata for a saved game contains these these properties:\n\n| Property | Description |\n|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **ID** | A unique string generated by Google Play Games Services for this saved game. Use this ID to refer to the saved game in your game clients. |\n| **Name** | A developer-supplied short name for the saved game, for example \"Save slot 1\" or \"PlayerName_Save1\". This is not shown to players. |\n| **Description** | A developer-supplied description of the saved game. |\n| **Last modified** | Timestamp in milliseconds generated by Google Play Games Services for when the saved game was last updated. |\n| **Played time** | A developer-supplied time (in milliseconds) to display on the saved game. This value should represent how long the player has played the corresponding save game. For example, a played time value of 3600000 will be displayed by Google Play Games Services as \"1 hr\". |\n| **Cover image** | This is an optional, developer-supplied property that contains information about the [cover image](/games/pgs/savedgames#cover-images). |\n\nClient implementations\n\nTo learn how to implement saved game for your platform, see the following\nresources:\n\n- [Android](/games/pgs/android/saved-games)\n- [Checklist for implementing Cloud save](/games/pgs/quality#saved-games)"]]