6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PlayFab、GameManager(管理画面)上でCloudScriptを実行する

Posted at

定義した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タブを開きます。

スクリーンショット 2019-10-13 2.41.38.png

スクリプトを実行する

  • リビジョンを選択(デフォルトでライブが選ばれている)
  • 関数名を選択
  • 必要に応じて引数を入力

スクリーンショット 2019-10-13 2.42.25.png

入力したら 実行 を押すだけ。

これで右側に戻り値やログもろもろ表示されます。

ログインユーザーの情報を扱う

currentPlayerId というグローバル変数が使えるので、以下の様に書いておけばログインユーザーを扱えます。

GetUserAccountInfoを叩いてみるだけの例

sample.js
handlers.getAccountInfoSample = function(args, context) {
    var request = {
        "PlayFabId": currentPlayerId
    }
    var userAccountInfo = server.GetUserAccountInfo(request)
    log.info(userAccountInfo)
}
スクリーンショット 2019-10-13 2.50.00.png

まとめ

  1. 自動化 -> CloudScript -> リビジョン 画面でCloudScriptを書き換える。そのままデプロイ。
  2. プレイヤー -> CloudScript 画面にて実行

この方法で書いたScriptをすぐ試せる様になりました。

これでも地味に面倒なのでもっといい方法ある気はします...

(もっといい方法知ってる方は教えてください〜)

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?