Unity에서 PlayFab의 CloudFunction을 호출하십시오.

8970 단어 PlayFabUnity
PlayFab에서는 CloudFunction이라는 서버에서 처리하는 스크립트를 정의할 수 있습니다.
편리해 보이기 때문에 유니티에서 호출해 보세요.

환경

  • Unity 2019.2.2f1
  • PlayFab SDK 2.75.191001
  • 호출할 스크립트 확인


    먼저 관리 화면에서 CloudScript를 확인합니다.(처음부터 준비한 것을 사용한다)
    자동화 -> 클라우드 스크립트 -> 수정
    큰 장면을 렌더링하는 동안 이 고장이 발견되었습니다.

    처음부터 Hello World라는 함수가 있었기 때문에 사용했습니다.
    hello_world.js
    handlers.helloWorld = function (args, context) {
        var message = "Hello " + currentPlayerId + "!";
        log.info(message);
    
        var inputValue = null;
        if (args && args.inputValue)
            inputValue = args.inputValue;
        log.debug("helloWorld:", { input: args.inputValue });
    
        return { messageValue: message };
    };
    

    Unity에서 호출


    Unity에서 다음 스크립트를 준비해서 실행하십시오.
    PlayFabDemo.cs
    using PlayFab;
    using PlayFab.ClientModels;
    using UnityEngine;
    
    public class PlayFabDemo : MonoBehaviour
    {
        public void Start()
        {
            var loginRequest = new LoginWithCustomIDRequest {CustomId = "MyCustomId", CreateAccount = true};
            PlayFabClientAPI.LoginWithCustomID(loginRequest, OnLoginSuccess, OnError);
        }
    
        private void OnLoginSuccess(LoginResult loginResult)
        {
            Debug.Log("ログイン成功");
    
            var helloWorldRequest = new ExecuteCloudScriptRequest()
            {
                FunctionName = "helloWorld",
                FunctionParameter = new {inputValue = "naichilab"},
                GeneratePlayStreamEvent = true
            };
            PlayFabClientAPI.ExecuteCloudScript(helloWorldRequest, OnHelloWorldSuccess, OnError);
        }
    
        private void OnHelloWorldSuccess(ExecuteCloudScriptResult helloWorldResult)
        {
            Debug.Log(helloWorldResult.FunctionResult);
        }
    
        private void OnError(PlayFabError error)
        {
            Debug.Log(error.GenerateErrorReport());
        }
    }
    
    리셋이 많아서 보기 싫지만 하는 일은 다음과 같은 두 가지가 있다.
  • 로그인
  • 로그인 후 CloudFunction 호출helloWorld
  • 실행하면 그런 로그가 나와요.

    좋아~

    무슨 일이 일어났습니까?



    이런 느낌인데.PlayFabClientAPI.ExecuteCloudScript PlayFab의 helloWorld 를 호출합니다.
    편리하다

    로그 보기


    CloudFunction 측의 다음 로그가 어디에 쓰여 있는지 확인합니다.
  • log.info(message);
  • log.debug("helloWorld:", { input: args.inputValue });
  • 제목 개요 -> 스트리밍 모니터 재생
    의 양곡 탄젠트 값입니다.

    이 상태에서 Unity 측면을 실행하면 이벤트 흐름이 재생됩니다.

    Unity 측면에서 GeneratePlayStreamEvent = true 로 설정하면 CloudScript의 실행 기록이 여기로 흘러갑니다.

    거기Information 표시를 누르면 실행 로그의 상세한 상황을 확인할 수 있습니다.

    두 개의 일지가 있다.

    총결산

  • PlayFab에서 함수 정의(js로 쓰기)
  • UnityExecuteCloudScript 실행 함수 사용
  • 이런 느낌으로 간단하게 사용했어요.매개 변수와 반환 값을 처리할 수 있기 때문에 자유도가 상당히 높다.
    편리하다

    링크

  • CloudScript 개요
  • https://docs.microsoft.com/ja-jp/gaming/playfab/features/automation/cloudscript/
  • 좋은 웹페이지 즐겨찾기