유니티 플레이팹 클라우드 스크립트 사용 Playfab CloudScripts 간단 사용법

반응형

클라우드 스크립트 사용하는 이유?

클라이언트에서 코드를 처리하는 방식이 아닌 서버에서 처리하기때문에 로그를 남길 수도 있고 더 빠르고 안전하게 코드를 처리할 수 있습니다.

 

 

코드 작성 (기본값 세팅)

using PlayFab;
using PlayFab.ClientModels;
using PlayFab.Json;
using PlayFab.ProfilesModels;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayfabManager : MonoBehaviour
{
    private void SetEditorOnlyMessage(string message, bool error = false)
    {
        if (error) Debug.LogError("<color=red>" + message + "</color>");
        else Debug.Log(message);
    }
    
    private void DisplayPlayfabError(PlayFabError error) => SetEditorOnlyMessage("error : " + error.GenerateErrorReport(), true);


    private void OnCloudUpdateStats(ExecuteCloudScriptResult result)
    {
        SetEditorOnlyMessage(PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).SerializeObject(result.FunctionResult));
        JsonObject jsonResult = (JsonObject)result.FunctionResult;
        foreach (var json in jsonResult)
        {
            SetEditorOnlyMessage(json.Key + " / " + json.Value);
        }
        object messageValue;
        jsonResult.TryGetValue("OnCloudUpdateStats() messageValue", out messageValue);
        SetEditorOnlyMessage((string)messageValue);
    }


    public void UseCloudScript(string name, int value)
    {
        try
        {
            PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest()
            {
                FunctionName = "CloudScriptName",
                FunctionParameter = new
                {
                    Statistics = new List<StatisticUpdate>
                {
                    new StatisticUpdate {StatisticName = name, Value = value}
                }
                },
                GeneratePlayStreamEvent = true,
            }, OnCloudUpdateStats, DisplayPlayfabError);
        }
        catch (Exception e)
        {
            Debug.LogError(e.Message);
        }
    }
}

 


참고할만한 글

 

CloudScript(레거시) 빠른 시작 - PlayFab

PlayFab 게임 관리자에서 CloudScript(레거시) 파일을 업로드하고 관리하는 방법을 설명합니다.

docs.microsoft.com

 

 

반응형