へくれすブログ

UnityとC#中心の備忘録です

【PlayFab】CloudScriptをGitHubで管理する方法

概要

f:id:hecres:20190728133856p:plain

PlayFab の CloudScript を Git(GitHub)で管理したい。
連携自体は簡単だが、いくつか分かりにくい部分があったためメモ。BC

解決方法

  1. PlayFab と GitHub の連携
  2. 【罠】Root ディレクトリ以外は反応しない
  3. 【罠】Push 内容をブラウザで確認可能になるまで時間がかかる
  4. 【仕様】Push しただけでは Deploy されない

PlayFab と GitHub の連携

PlayFab は公式で GitHub 連携をサポートしている。
公式ドキュメント以上のことは特にない。

【罠】Root ディレクトリ以外は反応しない

GitHub 連携では、リポジトリRoot 直下JavaScript ファイルを結合したものが CloudScript として扱われる。

例えば、ファイルを分類しようとして「root/Hoge/Fuga.js」のように配置すると無視される。

General Discussion - Multiple cloud script files
最後の「The feature does not seem to work anymore as of today...」の Reply に、
サブディレクトリに反応しない旨が書かれている。

【罠】Push 内容をブラウザで確認可能になるまで時間がかかる

master に push 後、処理自体は数秒程度で反映される一方、
ブラウザで目視確認できるようになるまでは多少時間がかかる。

当初は即時反映されるものと思い込んでいたため連携失敗と勘違いしてしまった。

【仕様】Push しただけでは Deploy されない

Push と Deploy は直接紐づいておらず、動作確認後に Deploy できるようになっている。
Deploy 前のリビジョンを使用するには、Request プロパティを以下のように指定する。

var request = new ExecuteCloudScriptRequest
{
  RevisionSelection = CloudScriptRevisionOption.Latest
};

General Discussion - GitHub and Cloud Scripts -- how does it work?

検証環境

Version
備考
PlayFabAllSDK 1.54.190717 UnitySDK でなく C#SDK を使用
Unity 2019.1.8f1