ドキュメント

​
​

Development

User Acquisition

Monetization

産業

Cloud Save

Unity SDK tutorial

Cloud Save for Cloud Code

Open Unity Dashboard

Cloud Save

LiveOps
​
​
Cloud Save
  • Overview
  • Get started
  • Concepts
  • Tutorials
    • Unity SDK tutorial
    • Unity SDK sample
    • Cloud Save for Cloud Code
    • Cloud Save Dashboard
    • REST API tutorial
  • Reference
  • Privacy and consent
  1. Cloud Save

Cloud Code 向け Cloud Save のチュートリアル

Use Cloud Code to access, modify, and manage Cloud Save data to achieve server-authoritative gameplay.
読み終わるまでの所要時間 5 分
最終更新 8ヶ月前

Cloud Code 向け Cloud Save SDK を使用すると、プレイヤーデータの読み取りと書き込み、ゲームデータの読み取りと書き込み、およびデータのクエリ (データをクエリ可能にするインデックスを設定している場合) を Cloud Code から実行できます。
使用可能なすべてのメソッドのリストについては、Cloud Code 向け Cloud Save SDK のドキュメント を参照してください。

Cloud Code からの Cloud Save へのアクセス

以下は、Cloud Code スクリプトからプレイヤーデータに書き込む方法の例です。
Javascript
const _ = require("lodash-4.17");const { DataApi} = require("@unity-services/cloud-save-1.4");const NUMBER_OF_SIDES = 6;module.exports = async ({ params, context, logger }) => { const { projectId, playerId } = context; const api = new DataApi(context); const roll = rollDice(NUMBER_OF_SIDES); if (roll > NUMBER_OF_SIDES) { // Log an error message with information about the exception logger.error("The roll is greater than the number of sides: " + roll); // Return an error back to the client throw Error("Unable to roll dice!"); } // Return a JSON result to the client const result = { sides: NUMBER_OF_SIDES, roll: roll, }; const setResult = await api.setItem(projectId, playerId, { key: "DIE_ROLL", value: result }); logger.debug(JSON.stringify(setResult.data)); return result;};// Function outside of the script wrapperfunction rollDice(sides) { return _.random(1, sides);}

クロスプレイヤーデータ

別のプレイヤーの ID を Cloud Save SDK に渡すことで、そのプレイヤーの Cloud Save データの読み取りと書き込みができるようになり、非同期のマルチプレイヤーインタラクションが可能になります。これは、ユーザーが自分のデータへのアクセスのみを許可されているクライアント内からは不可能です。
以下の例は、同じ ロビー 内で他のプレイヤーにいいねを付ける方法を示しています。サンプルコードは、Cloud Save に保存された他のプレイヤーのデータにアクセスしてそのデータを変更する方法を示しています。
otherPlayerId
パラメーターにより、他のプレイヤーが識別されます。
Javascript
const { DataApi } = require('@unity-services/cloud-save-1.4');module.exports = async ({ params, context, logger }) => { const { projectId } = context; const { otherPlayerId } = params; // Initialize the cloud save API client const cloudSaveAPI = new DataApi(context); // Access the save data for the specified player const otherPlayerSave = await cloudSaveAPI.getItems( projectId, otherPlayerId, // or any other player ID "likes" // Cloud Code key ); // Assume that player's likes is 0 if the key doesn't exist const otherPlayerLikes = otherPlayerSave.data.results[0]?.value || 0; // Update the data for the specified player cloudSaveAPI.setItem( projectId, otherPlayerId, { key: "likes", value: otherPlayerLikes + 1 } )};
プレイヤーから発信されたリクエストは信頼できない入力と見なされるため、上記の例のように他のプレイヤーの ID をパラメーターとして受け入れる場合は注意してください。ゲームにプレイヤー同士のインタラクションのタイミングや方法に関する制限がある場合 (例えば、プレイヤーがマルチプレイヤーをオプトアウトできる場合) は、スクリプト内でそれらの前提条件を確認する必要があります。

ユースケースと例

Cloud Code スクリプトによる Cloud Save SDK のその他のユースケースと例を見てみましょう。
| トピック | 説明 | |-|-| | クエストシステム | サーバー主導型/チート対策クエストシステム。
Cloud Code モジュール (C#) | | 引き換え可能なクーポン | プレイヤーにゲーム内報酬を提供します。
Cloud Code スクリプト (JavaScript) | | サーバー時刻のチート対策 | チート対策システムを実装します。
Cloud Code スクリプト (JavaScript)|

Copyright © 2026 Unity Technologies
法規事項プライバシーポリシークッキーDocumentation Terms of Use私の個人情報を販売または共有しないプライバシーに関する選択 (クッキー設定)

"Unity" の名称、Unity のロゴ、およびその他の Unity の商標は、米国およびその他の国における Unity Technologies またはその関係会社の商標または登録商標です (詳しくはこちら)。その他の名称またはブランドは該当する所有者の商標です。

一部のページは利便性向上のため機械翻訳を使用しており、内容に不正確な表現が含まれる場合があります。内容に齟齬または不一致が生じた場合は、英語版を正本とします。

  • このページ
    • Cloud Code からの Cloud Save へのアクセス

    • クロスプレイヤーデータ

    • ユースケースと例


このページの問題を報告する