본문 바로가기
Unity/수업내용

[Unity/UGS] Remote Config 활용하기

by 왹져박사 2024. 7. 19.

Remote Config는 데이터 값을 UGS 페이지 상에서 바로 쉽게 변경하는 기능이다. 

자주 변하는 데이터를 활용하면 개발자가 아닌 사람에게 굉장히 쉽고 직관적으로 다가올 것이라 생각된다. 

 

Install

 

unity에서 관리

 

 

Add Key

publish

publish

 

등록한 key 보임

바꾸고 push

 

바뀐 모습

 

Dashboard에서 바꿈

using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
using Unity.Services.Authentication;
using Unity.Services.Core;
using Unity.Services.RemoteConfig;
using UnityEngine;

public class RCManager : MonoBehaviour
{
    public float speed;

    private async void Awake()
    {
        await UnityServices.InitializeAsync();

        AuthenticationService.Instance.SignedIn += () =>
        {
            string playerId = AuthenticationService.Instance.PlayerId;
            Debug.Log("player id : " + playerId);
        };
        await this.SignInAsync();

        //FetchCompleted callback되면 OnReturnRemoteConfig 호출
        RemoteConfigService.Instance.FetchCompleted += this.OnReturnRemoteConfig;

        await this.GetRemoteConfigDataAsync();

    }

    private async Task SignInAsync()
    {
        await AuthenticationService.Instance.SignInAnonymouslyAsync();
    }

    public struct userAttributes { };
    public struct appAttributes { };
    //RemoteConfig 데이터 불러오기
    private async Task GetRemoteConfigDataAsync()
    {
        await RemoteConfigService.Instance.FetchConfigsAsync(new userAttributes(), new appAttributes());
    }

    //Query Event
    private void OnReturnRemoteConfig(ConfigResponse response)
    {
        Debug.Log("결과값 리턴 성공" + response.status);

        this.speed = RemoteConfigService.Instance.appConfig.GetFloat("speed");
    }
}