다음을 통해 공유


PlayStream 이벤트 생성

이 자습서에서는 PlayFab의 자동 및 사용자 지정 PlayStream 이벤트에 대한 개요를 제공합니다.

자동 이벤트 개요

이름에서 알 수 있듯이 자동 이벤트는 일반적인 API 메서드 호출을 통해 자동으로 발생하는 것입니다. 대부분의 기존 API 메서드는 PlayStream 이벤트를 생성합니다.

하지만 때로 게임에 대해 매우 구체적이고 PlayFab에서 기본 제공하지 않는 이벤트를 캡처해야 합니다.

이를 위해서는 다음 섹션인 사용자 지정 이벤트 개요에 설명된 대로 사용자 지정 이벤트 사용을 고려해 보세요.

예제

이메일 및 암호 쌍이 유효한 경우 다음 API 호출에서는 이메일 및 암호로 플레이어에 로그인합니다.

PlayFabClientAPI.LoginWithEmailAddress(new LoginWithEmailAddressRequest() {
    Email = "my@email.com",
    Password = "qwerty"
},
result=> Debug.Log(result.PlayFabId),
error=> Debug.LogError(error.GenerateErrorReport()));

부작용으로 PlayFab에서는 player_logged_in 이벤트를 녹화합니다.

사용자 지정 이벤트 개요

PlayFab은 많은 이벤트를 자동으로 녹화하지만 때로 게임에 대해 매우 구체적인 이벤트가 필요할 때가 있습니다.

사용자 지정 이벤트라는 개념을 통해 임의의 유형 및 이름으로 이벤트를 게시할 수 있습니다.

자동 이벤트와 마찬가지로 사용자 지정 이벤트는 실시간 분석 도구를 통해 완벽하게 반영됩니다. 자동 이벤트와 달리 사용자 지정 이벤트를 게시하는 데 약간의 사용자 지정 코드가 필요합니다.

사용자 지정 이벤트는 엔터티로 분류될 수 있습니다. 사용자 지정 이벤트는 플레이어, 캐릭터 또는 타이틀로 한정될 수 있습니다. 이벤트 엔터티 참조는 다음 두 필드를 사용해 지정합니다.

  1. EntityType
  2. EntityID

관련 API 호출

예: 사용자 지정 이벤트 게시

다양한 상자를 여는 플레이어에 대한 정보를 집계하려고 합니다. 표준 이벤트 정보와 함께 ChestTypeLevelID을(를) 기록하려고 합니다.

그러나 안타깝게도 PlayFab에서는 해당 자동 이벤트를 기본 제공하지 않습니다. 사용자 지정 플레이어 이벤트를 사용하여 문제를 해결하세요.

필수 구성 요소

플레이어가 이미 로그인되어 있어야 합니다. 코드에는 콜백 OnChestOpenLevelIDChestType이 있으며 이것들은 해당 콜백으로 전달됩니다.

해결 방법

실행되면 다음 코드를 통해 사용자 지정 플레이어 이벤트가 게시됩니다.

private void OnChestOpened(string chestType, int levelId) {
    PlayFabClientAPI.WritePlayerEvent(new WriteClientPlayerEventRequest() {
        Body = new Dictionary<string, object>() {
            { "ChestType", chestType },
            { "LevelId", levelId }
        },
        EventName = "player_chest_opened"
    },
    result => Debug.Log("Success"),
    error => Debug.LogError(error.GenerateErrorReport()));
}
  1. 이 메서드는 ChestTypeLevelId를 받아들입니다.
  2. 플레이어에 한정된 사용자 지정 이벤트를 게시하는 데 WritePlayerEvent API 호출을 사용하세요.
  3. 이벤트 및 필요에 따라 본문을 제공합니다. 이 경우에는 ChestTypeLevelId필드를 제공합니다.
  4. 사용자 지정 이벤트를 식별할 수 있는 이벤트 이름을 제공합니다. 이 경우에는 player_chest_opened 이벤트 유형 이름을 사용합니다.