定義したCloudScriptを実行するために、
わざわざクライアントから接続してExecuteCloudScriptしてたんですが、
管理画面から簡単に実行できました。
管理画面上からCloudScriptを実行する方法
CloudScriptを定義
好きに定義します。
ここではチュートリアルのHelloWorldを使用
cloudscript.js
// Cloud Script (JavaScript)
handlers.helloWorld = function (args, context) {
var message = "Hello " + currentPlayerId + "!";
log.info(message);
var inputValue = null;
if (args && args.hasOwnProperty("inputValue"))
inputValue = args.inputValue;
log.debug("helloWorld:", { input: inputValue });
return { messageValue: message };
}
ユーザーを作っておく
CloudScriptはログインしたクライアントから呼び出すことが多いと思います。(たぶん)
UnityでPlayFabを使い始める方法(インストール〜匿名ログイン)
上記手順で一度クライアントからログインしてプレイヤーを作っておきます。
もちろんすでに存在する場合は不要です。
プレイヤーのCloudScript画面を開く
ログインしたプレイヤーを選択し、CloudScriptタブを開きます。
スクリプトを実行する
- リビジョンを選択(デフォルトでライブが選ばれている)
- 関数名を選択
- 必要に応じて引数を入力
入力したら 実行
を押すだけ。
これで右側に戻り値やログもろもろ表示されます。
ログインユーザーの情報を扱う
currentPlayerId
というグローバル変数が使えるので、以下の様に書いておけばログインユーザーを扱えます。
GetUserAccountInfoを叩いてみるだけの例
sample.js
handlers.getAccountInfoSample = function(args, context) {
var request = {
"PlayFabId": currentPlayerId
}
var userAccountInfo = server.GetUserAccountInfo(request)
log.info(userAccountInfo)
}
まとめ
-
自動化 -> CloudScript -> リビジョン
画面でCloudScriptを書き換える。そのままデプロイ。 -
プレイヤー -> CloudScript
画面にて実行
この方法で書いたScriptをすぐ試せる様になりました。
これでも地味に面倒なのでもっといい方法ある気はします...
(もっといい方法知ってる方は教えてください〜)