아이템 카탈로그 개인 설정

이 튜토리얼은 다음 방법을 설명합니다.

  • 관리자가 생성한 특성을 사용하여 카탈로그 개인 설정하기(사용자 인증에 페이 스테이션 액세스 토큰을 사용하는 파트너 대상)
  • JSON 스키마에 특성 검사 규칙을 지정하고 엑솔라 측에서 사용자에게 특성을 추가하기(사용자 인증에 엑솔라 로그인을 사용하는 파트너 대상)
  • 카탈로그 표시 규칙 생성하기
  • 특성 값이 다른 사용자에 대한 아이템 카탈로그를 가져오기
알림
이 튜토리얼은 개인 설정한 프로모션 설정하기를 다루지 않습니다. 엑솔라 로그인을 사용하여 사용자를 인증할 때 아이템 카탈로그 개인 설정과 동일한 방식으로 개인 설정된 프로모션을 설정할 수 있습니다.

선행 조건

시작하기 전에 확인해야 할 사항:

  • 개인 설정을 구성할 인게임 아이템 또는 게임 키의 카탈로그를 생성했습니다.
  • 사용자 특성 섹션을 살펴 보았습니다(사용자 인증에 엑솔라 로그인을 사용하는 파트너 대상).
  • 사용자 데이터베이스 > 사용자 섹션의 로그인 프로젝트 설정에서 특성을 추가할 수 있는 사용자를 추가했습니다(사용자 인증에 엑솔라 로그인을 사용하는 파트너 대상).

페이 스테이션 액세스 토큰을 사용하여 사용자를 인증하는 개인 설정

페이 스테이션 액세스 토큰을 사용하여 사용자를 인증하는 경우, 토큰을 가져올 때 특성을 전달할 수 있습니다. 이 경우 다음을 수행하여 개인 설정을 진행합니다.

  1. 시스템에서 특성을 생성합니다.
  2. 시스템에서 사용자에게 특성을 추가합니다.
  3. 게임 내 사용자의 특성 값이 변경될 때 이를 업데이트하는 로직을 구현합니다.
  4. 특성을 사용하여 카탈로그 표시 규칙을 생성합니다.
  5. 페이 스테이션 액세스 토큰을 가져올 때 특성을 전달합니다.
  6. 아이템 카탈로그 요청 메소드에서 수신한 토큰을 사용합니다.

사용자 인증을 위해 엑솔라 로그인을 사용하는 개인 설정

엑솔라 로그인을 사용하여 사용자를 인증하는 경우에 필요한 사항:

  1. 엑솔라 측에서 사용자 특성에 대한 JSON 스키마를 생성하고 그 안에서 특성을 지정해야 합니다(선택 사항).

알림
수행 가능 작업:
  • 사용자 특성에 대한 JSON 스키마를 생성하고 이 JSON 스키마에 지정된 특성만 전달할 수 있습니다. 이렇게 하려면 JSON 스키마의 additionalProperties 개체에서 false를 지정합니다. 지정된 특성의 유효성이 자동으로 확인됩니다.
  • 사용자 특성에 대한 JSON 스키마를 생성하고 JSON 스키마에 지정된 특성과 JSON 스키마에 언급되지 않은 추가 특성을 모두 전달합니다. 이렇게 하려면 JSON 스키마의 additionalProperties 필드에서 true를 지정합니다. JSON 스키마에 지정된 특성은 자동으로 유효성이 검사됩니다.
  • 사용자 특성에 대한 JSON 스키마를 생성하지 않을 수있습니다. 이 경우 모든 특성을 전달할 수 있으며 특성 유효성 검사는 수행되지 않습니다.
아이템 카탈로그 개인 설정의 경우 특성 키와 값 유효성 검사를 자동으로 수행하도록 properties 개체 내의 JSON 스키마에 특성 및 해당 유형을 지정하는 것이 좋습니다.

  1. 사용자에 특성을 추가하고 로그인 API를 사용하여 특성 값을 업데이트합니다.
  2. 생성된 특성을 사용하여 카탈로그 표시 규칙을 생성합니다.
  3. 사용자의 JWT 가져오기를 구현합니다. JWT 가져오기 메소드 목록은 이 예시에서 확인할 수 있습니다.
  4. 아이템 카탈로그 요청 메소드에서 수신한 토큰을 사용합니다.

사용자에게 특성을 추가하는 여러 가지 방법:

  1. 이 메소드를 사용하여 사용자에게 특성을 추가하고 특성 값을 업데이트합니다. 카탈로그를 개인 설정하려면 특성 값을 계속 업데이트해야 합니다. 게임에서 사용자에 대한 특성 값이 변경되면 엑솔라에서 특성 값을 업데이트합니다.

  1. 예시: 사용자가 새로운 레벨에 도달하거나, 퀘스트를 완료하거나, 구매를 진행합니다.

  1. 단일 특성과 여러 특성의 값을 동시에 업데이트할 수 있습니다. JSON 스키마에 필수로 지정된 특성은 예외입니다. 필수 특성 값을 지정하지 않으면 특성 업데이트 API 메소드를 호출할 수 없습니다.
알림
  • 사용자를 인증할 때 실제 특성 값을 직접 전달하려면 사용자 정의 ID로 인증 메소드를 사용합니다. 이 메소드에서는 사용자 특성의 현재 값이 포함된 배열을 전달할 수 있습니다.
알림
서버 특성은 읽기 전용으로 생성하는 것이 좋습니다. 이렇게 하려면 매개 변수 값인 “attr_type”: “server”“read_only”: “true”를 전달해야 합니다.

개인 설정의 예시

이 예시는 카탈로그를 개인 설정하는 방법을 보여 줍니다. 중형 크리스탈 세트 아이템은 MyTestGame 게임을 구매한 사용자에게만 표시됩니다.

알림
중형 크리스탈 세트와 MyTestGame 이름은 예시로 제공됩니다. 프로젝트의 아이템과 특성을 사용하여 카탈로그를 개인 설정할 수 있습니다.
엑솔라 측(엑솔라 로그인을 통한 사용자 인증)과 파트너 측(페이 스테이션 액세스 토큰을 통한 사용자 인증)에서 특성을 생성하는 옵션을 추가로 고려할 수 있습니다. 페이 스테이션 액세스 토큰 옵션의 경우 카탈로그 표시 규칙 생성으로 바로 진행할 수 있습니다.

특성 스키마 생성

게임 이름과 구매 횟수에 해당하는 특성을 사용하여 JSON 스키마를 추가합니다. 이렇게 하려면 스키마에서 다음을 지정합니다.
  • “string” 유형을 사용하는 “game” 특성 - 사용자가 구매하는 게임의 이름. “game” 특성은 필수로 표시됩니다. “game” 특성을 전달하지 않으면 특성 업데이트 메소드를 호출할 수 없습니다.
  • “integer” 유형을 사용하는 “purchase_number” 특성 - 사용자 구매 횟수.

스키마 예시:
Copy
Full screen
Small screen

{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"title": "Example",
	"description": "JSON Schema description.",
	"properties": {
		"game": {
			"description": "Name of the game played by a user.",
			"type": "string"
		},
		"purchase_number": {
			"description": "The number of purchases the user made.",
			"type": "integer"
		}
	},
	"additionalProperties": false,
	"required": [
		"game"
	],
	"type": "object"
}

사용자에게 특성 추가하기

서버에서 사용자의 읽기 전용 특성 업데이트 메소드를 사용하여 사용자 데이터베이스에서 사용자에게 특성을 추가합니다.

서버에서 사용자의 읽기 전용 특성 업데이트 메소드에서 지정해야 하는 항목:

  • 서버 토큰.
  • 사용자 특성 값.
  • user_id - 사용자 데이터베이스 > 사용자 섹션의 관리자 페이지에서 로그인 프로젝트의 설정에 지정된 사용자 식별자입니다.
  • publisher_id - 판매자 ID 지정 위치:
    • 회사 설정 > 회사 섹션.
    • 관리자 페이지의 브라우저 주소 표시줄의 URL. 해당 URL은 https:​//publisher.xsolla.com/<merchant ID>/<Publisher Account section> 형식으로 되어 있습니다.
  • publisher_project_id - 프로젝트 이름 옆의 관리자 페이지에서 확인할 수 있는 프로젝트 ID.
알림

API 메소드의 매개 변수 이름은 제품마다 다를 수 있습니다.

JWT 생성 메소드를 사용하여 서버 토큰을 사전에 가져옵니다.


그런 다음 서버에서 사용자의 읽기 전용 속성 업데이트 메소드를 진행합니다.

attributes 배열이 포함된 요청 본문은 형식이 다음과 같습니다.

Copy
Full screen
Small screen
{
  "attributes": [
    {
      "key": "game",
      "permission": "private",
      "value": "MyTestGame"
    },
 {   
     "key": "purchase_number",
      "permission": "private",
      "value": "30"
    }

  ],
  "publisher_id": 000000,
  "publisher_project_id": 000000
}

요청을 실행한 결과, 특성이 없는 사용자가 이제 지정된 값을 가진 특성을 갖게 됩니다.

카탈로그 표시 규칙 생성하기

MyTestGame을 구매한 사용자에게만 중형 크리스탈 세트 아이템을 표시하는 규칙을 설정합니다.

이렇게 하려면:

  1. 관리자 페이지에서 스토어 > 카탈로그 관리 > 카탈로그 표시 규칙으로 이동합니다.
  2. 규칙 생성을 클릭하고 필수 필드를 작성합니다.
    1. 사용자 특성 필드의 특성 키 - game
    2. 유형 - string
    3. 비교 연산자 - equal to
    4. 값 - MyTestGame
  1. 조건이 맞을 경우 표시하는 아이템을 지정합니다. 아래 예시에서는 MyTestGame을 소유한 사용자에게 중형 크리스탈 세트가 표시됩니다.
  1. 규칙을 확인하고 활성화한 후 규칙을 저장합니다.

토큰 가져오기

엑솔라 로그인 JWT 가져오기

MyTestGame 값을 사용해 game 특성에 추가한 사용자에 대한 토큰을 가져옵니다.
사용자 개입 없이 클라이언트 또는 서버 측에서 성공적인 사용자 인증을 진행한 후 엑솔라 로그인 JWT를 가져올 수 있습니다. 이렇게 하려면 다음 엑솔라 로그인 인증 방법 중 하나를 사용해야 합니다.

페이 스테이션 액세스 토큰 가져오기

필수 특성을 사용하여 페이 스테이션 액세스 토큰을 가져옵니다. 이렇게 하려면 토큰 생성에서 attributes 개체의 “game”: “MyTestGame”을 전달해야 합니다.

요청 본문 예시:

Copy
Full screen
Small screen

{
  "settings": {
    "currency": "USD",
    "language": "en",
    "project_id": 000001,
    "ui": {
      "size": "medium"
    }
  },
  "user": {
    "email": {
      "value": "email@example.com"
    },
    "id": {
      "value": "user_2"
    },
    "name": {
      "value": "John Smith"
    },
    "attributes": {
      "game": "MyTestGame"
    }
  }
}

아이템 카탈로그 가져오기

아이템 카탈로그를 가져오려면 가상 아이템 목록 가져오기 메소드를 호출하고 엑솔라 로그인 사용자 JWT 또는 페이 스테이션 액세스 토큰을 사용하여 인증합니다.

엑솔라 로그인 JWT를 사용하여 아이템 카탈로그 가져오기

MyTestGame 값으로 game 특성을 추가한 사용자의 토큰을 사용하여 카탈로그를 가져옵니다. 이렇게 하려면 가상 아이템 목록 가져오기 메소드에서 다음을 지정합니다.

  • 인증 헤더의 획득한 사용자 JWT
  • 경로 매개 변수로 되어 있는 관리자 페이지의 프로젝트 ID

응답에는 세 가지 아이템이 포함됩니다.

  • 엠파이어 키
  • 소형 크리스탈 팩
  • 개인 설정 규칙이 구성된 중형 크리스탈 세트


아이템 카탈로그를 가져올 때 특성 값이 규칙에 지정된 값과 일치하는지 응답을 테스트할 수 있습니다. 테스트를 위해 사용자 정의 ID로 인증 메소드를 사용하여 토큰을 가져올 때 특성을 직접 전달할 수 있습니다.
알림
이 메소드는 사용자 정의 ID로 인증 메소드를 통해 인증한 사용자에만 사용할 수 있습니다.
사용자 정의 ID로 인증 메소드를 사용하여 사용자 JWT를 가져오고 attributes 배열의 game 특성을 OtherGame 값과 함께 전달합니다.
Copy
Full screen
Small screen
"attributes": [
{
    "attr_type": "server",
    "key": "game",
    "permission": "private",
    "value": "OtherGame",
    "read_only": true
 },
{
    "attr_type": "server",
    "key": "purchase_number",
    "permission": "private",
    "value": "30",
    "read_only": true
  }
]

획득한 토큰이 포함된 가상 아이템 목록 가져오기 메소드가 반환하는 두 가지 아이템: 엠파이어 키와 소형 크리스탈 팩. 개인 설정 규칙이 적용된중형 크리스탈 세트는 응답에 포함되지 않습니다.


비교를 위해 이제 MyTestGame 값이 포함된 game 특성을 전달합니다.

이것은 게임 MyTestGame를 가진 사용자에 대한 사용자 정의 ID로 인증 메소드의 attributes 배열입니다.

Copy
Full screen
Small screen

"attributes": [
{
    "attr_type": "server",
    "key": "game",
    "permission": "private",
    "value": "MyTestGame",
    "read_only": true
 },
{
    "attr_type": "server",
    "key": "purchase_number",
    "permission": "private",
    "value": "30",
    "read_only": true
  }
]

가상 아이템 목록 가져오) 메소드에서 아이템 카탈로그 요청 시 획득한 토큰을 지정합니다.

그 결과로 중형 크리스탈 세트가 응답에 포함됩니다.

페이 스테이션 액세스 토큰을 사용하여 아이템 카탈로그 가져오기

개인 설정한 아이템 카탈로그를 가져오려면 가상 아이템 목록 가져오기 메소드에서 다음을 지정해야 합니다.

응답에는 세 가지 아이템이 포함됩니다.

  • 엠파이어 키
  • 소형 크리스탈 팩
  • 개인 설정 규칙이 구성된 중형 크리스탈 세트


아이템 카탈로그를 가져올 때 사용자에게 MyTestGame 값이 포함된 game 특성이 없는 경우 응답을 테스트할 수 있습니다.

페이 스테이션 액세스 토큰을 수신하면 attributes 개체를 삭제하고 가상 아이템 가져오기 목록 메소드를 사용하여 아이템 카탈로그를 다시 요청합니다. 이제 응답이 중형 크리스탈 세트를 포함하지 않습니다.

이 기사가 도움이 되었나요?
감사합니다!
개선해야 할 점이 있을까요? 메시지
유감입니다
이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
의견을 보내 주셔서 감사드립니다!
메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
마지막 업데이트: 2024년 10월 3일

오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.

문제 보고
콘텐츠를 항상 검토합니다. 여러분의 피드백은 콘텐츠를 개선에 도움이 됩니다.
후속 조치를 위해 이메일을 제공해 주세요
의견을 보내 주셔서 감사드립니다!