Skip to main content

Google Play Store에서 구매할 수 있는 PlayFab 번들 설정

이 자습서에서는 플레이어가 구매할 수 있도록 PlayFab 번들을 만들고 Google Marketplace의 게임에 추가하는 방법과 그 안에 포함된 아이템을 리뎀션하는 방법을 보여줍니다.

필수 구성 요소

  1. PlayFab의 Game Manager의 타이틀.
  2. 선택한 타이틀과 원하는 마켓플레이스 간의 기존 통합.
  3. Google Play에 이미 생성되고 사용 가능한 앱.
    1. 앱에 Google Play Android Developer API가 활성화되어 있는지 확인하세요.

1단계: 번들 만들기

이 자습서에서는 Google Play Console에서 번들을 만드는 것부터 시작합니다.

Google Play Console을 사용하여 번들 만들기

  1. Google Play Console에서 원하는 을 엽니다.
  2. 왼쪽 탐색 모음에서 Monetize 섹션까지 아래로 스크롤하여 In-app products를 선택합니다. In-app products menu option
  3. 오른쪽 상단에서 Create product를 선택합니다. Create product button
  4. 원하는 Product ID와 번들 Name을 입력합니다. 이 자습서에서는 Product IDwarrior_bundle을 사용합니다. Product IDGame Manager 연결에 사용되므로 기억하세요. Create new product fields
  5. Price 섹션까지 아래로 스크롤하여 Set price를 선택합니다. Set price option
  6. 번들에 원하는 가격을 추가하세요(예: $1.00). 오른쪽 하단에서 Apply prices를 선택합니다. Set price screen
  7. Save를 선택하여 방금 번들에 만든 모든 변경 사항을 저장합니다. 저장하면 제품으로 활성화되지는 않습니다. 저장되면 활성화 옵션이 나타납니다. Google Play Console의 앱에서 번들을 활성화하려면 오른쪽 하단의 Activate 버튼을 선택합니다. Activate bundle button

Game Manager를 사용하여 번들 만들기

Game Manager에서 새 번들을 만들려면 다음 단계를 따르세요.
  1. Game Manager로 이동하여 Title로 이동합니다.
  2. 왼쪽 탐색 메뉴에서 Engage > Economy를 선택합니다. Economy menu location
  3. Bundles 탭을 선택합니다. Bundles tab
  4. New bundle을 선택합니다. New bundle button
  5. 아이템 및 가격 등 원하는 정보를 번들에 추가합니다. 이 자습서에서는 이름으로 Warrior Bundle을 사용합니다. bundle options
  6. 페이지 끝까지 아래로 스크롤하여 즉시 게시하려면 Save and publish를 선택하거나, 저장하되 아직 사용할 수 없게 하려면 Save as draft를 선택합니다. Save option

번들에 아이템 추가

번들 자체는 플레이어에게 아이템을 부여하지 않습니다. 먼저 아이템을 연결해야 하며 리뎀션되면 해당 특정 플레이어에게 해당 아이템을 부여합니다. 번들에 아이템을 추가하기 전에 카탈로그에 이미 아이템이 만들어지고 게시되었는지 확인하세요. 이미 Fire Sword라는 검과 Ice Shield라는 방패가 있습니다. 아이템 만드는 방법을 모르는 경우 이 단계를 참조하세요. 이제 번들에 추가해 봅시다! 이를 위해 아이템이 이미 만들어져 있다고 가정하고 처음 번들을 만드는 동안 추가하거나 나중에 번들 아이템을 편집하여 추가할 수 있습니다. 편집 모드에서 번들의 Items 섹션까지 아래로 스크롤하여 Add 버튼을 선택하면 카탈로그에서 사용 가능한 모든 아이템이 표시되는 창이 표시됩니다. 여기서 유형별로 필터링(Items 또는 User Generated Content (UGC) Items)하거나 특정 아이템을 검색할 수 있습니다. 추가하려는 각 아이템 옆의 Add 버튼을 선택하고 마지막으로 창 하단의 파란색 Add 버튼을 선택합니다. Add items to a bundle

Marketplace Mapping 활성화

플레이어가 앱에서 번들을 구매할 때 Game Manager에서 올바르게 구매되고 할당되도록 하려면 Marketplace Mapping을 구성해야 합니다. 이는 Game Manager에서 번들을 만드는 동안 수행하거나 번들이 만들어진 후 편집 모드에서 번들로 돌아가 수행할 수 있습니다.
  1. 편집 모드에서 번들로 이동합니다.
  2. Marketplace Mapping 섹션까지 아래로 스크롤합니다.
  3. Marketplace 드롭다운에서 원하는 마켓플레이스를 선택합니다. (이 자습서의 경우 GooglePlay입니다.)
  4. Marketplace ID의 경우 Google Play Console의 Product ID와 동일한지 확인하세요. 이 자습서에서는 Warrior_bundle을 사용했습니다.
  5. 마무리하려면 해당 행 오른쪽에서 + 를 선택합니다.
Marketplace Mapping

2단계: Purchase Token 생성

계속하기 전에 필수 구성 요소 #3을 완료했는지 확인하세요. 그렇지 않으면 Purchase Token을 생성하는 실용적인 방법이 없습니다.
Purchase Token은 영수증 ID와 유사하게 각 구매에서 Google Play API에 의해 생성되는 토큰입니다. Google 문서에 따르면 “Purchase Token은 Google Play의 제품에 대한 구매자의 엔타이틀먼트를 나타내는 문자열입니다. Google 사용자가 특정 제품에 대해 지불했음을 나타냅니다.” 구현에서는 Google Marketplace로 구매를 검증하기 위해 PlayFab API로 전송해야 하므로 해당 토큰을 저장해야 합니다. 이를 통해 PlayFab은 플레이어의 구매한 아이템을 리뎀션하고 플레이어의 인벤토리에서 부여할 수 있습니다. 토큰을 생성하려면 이미 Google Play와의 활성 통합이 있는 앱이 실행 중이어야 합니다. Google Play의 앱 등록에는 구매 가능한 아이템(또는 이 경우 번들)도 있어야 합니다. 구매를 하면 토큰이 반환되도록 코드 구현에서 Google Play의 청구 시스템을 사용해야 합니다. 요약하면 앱을 코딩할 때 청구 시스템을 사용해야 하며, 해당 청구 시스템을 통해 Google 측에서 번들을 구매할 수 있으며 Purchase Token을 반환합니다. 그런 다음 토큰을 PlayFab의 Economy API와 함께 사용하여 구매를 리뎀션하고 번들 아이템을 플레이어의 인벤토리에 추가해야 합니다.
Google 시스템을 사용하는 유사한 프로젝트의 구현 예제는 이 CodeLab을 참조하세요. 청구에 대한 자세한 내용은 Google’s Billing System documentation을 참조하세요.

3단계: 번들 리뎀션

이제 Game ManagerGoogle Play Console 모두에서 번들이 만들어졌으므로 플레이어 중 한 명에게 번들을 리뎀션할 수 있습니다. 이 예에서는 PlayFab의 Economy API의 일부인 RedeemGooglePlayInventoryItems 호출을 사용하여 PlayFab의 API를 사용하는 데 중점을 둡니다.

AlternateID 확인

리뎀션 호출을 하기 전에 Game Manager에서 올바른 AlternateId가 있는지 확인하세요. Google Play Console의 것과 동일해야 합니다. 다음 스크린샷은 Game Manager의 번들 내부에서 가져온 것입니다. Marketplace ID는 우리가 AlternateId라고 부르는 것이며, 기본적으로 번들을 식별하는 또 다른 방법입니다. Marketplace Mapping Google Play Console에서 Monetize 섹션 아래의 In-app products 화면으로 이동합니다. 여기에서 Warrior Bundle을 포함한 모든 만들어진 제품을 볼 수 있습니다. Product ID는 두 번째 열에서 볼 수 있으며 Game ManagerAlternateId와 동일한지 확인해야 합니다. 그렇지 않은 경우 Game Manager를 업데이트하세요. Google Play Console Product Id

플레이어 인증

아이템을 리뎀션하려면 RedeemGooglePlayInventoryItems를 사용합니다. 하지만 그 전에 아이템을 리뎀션하려는 플레이어가 앱에서 올바르게 인증되었는지 확인해야 하며, 이를 위해 LoginWithGoogleAccount를 사용할 가능성이 높습니다. LoginWithGoogleAccount 호출이 성공한 후 PlayFab의 API는 X-EntityToken 키가 있는 RedeemGooglePlayInventoryItems 헤더의 일부로 사용해야 하는 EntityToken을 반환합니다. API 플랫폼을 사용하여 테스트하는 경우 다음과 같이 표시됩니다. API platform header keys

리뎀션 호출

플레이어가 인증되고 두 번들 인스턴스가 만들어지고 Alternate ID가 확인되었으며 Purchase Token이 있으면 리뎀션 호출을 할 준비가 되었습니다. 이를 위해 RedeemGooglePlayInventoryItems API 호출을 사용합니다.
호출은 간단합니다. Product ID(Google Play Console의 것과 일치해야 함)를 포함하는 Purchases 배열과 Google Play Billing System을 호출할 때 반환된 Purchase Token에 해당하는 Token 필드가 있습니다. 성공적인 응답에는 timestampMarketplaceTransactionId와 같은 데이터와 함께 200 status code가 포함됩니다. 성공적인 리뎀션이 이루어진 후 플레이어의 인벤토리로 이동하면 이제 번들에 연결된 두 아이템을 모두 볼 수 있어야 합니다. Inventory after redemption 각 리뎀션 작업은 지정된 플레이어의 개요 페이지 아래의 Transaction History (V2) 탭에서 검색할 수 있는 플레이어의 트랜잭션 이력에서 해당 이벤트 로그도 트리거하며 다음과 같이 표시됩니다. Transaction history 플레이어의 트랜잭션 이력에 있는 레코드와 함께 PlayStream 이벤트도 트리거되고 기록됩니다. Game Manager의 왼쪽 탐색 모음의 Analyze 섹션 아래에 있는 Data 페이지로 이동하여 타이틀의 이러한 로그에 액세스할 수 있습니다. 여기서 쿼리를 편집하여 특정 레코드를 검색하거나 기본 설정으로 실행하여 모든 것을 가져올 수 있습니다. 다음과 같이 Event nameitems_redeemed인 레코드가 있어야 합니다. PlayStream event log 두 개의 별개의 items_redeemed PlayStream 이벤트가 기록되어 있음을 알 수 있습니다. 이는 하나의 번들만 리뎀션했지만 번들에 두 개의 서로 다른 아이템이 포함되어 있기 때문입니다.

4단계: 소비

구매를 성공적으로 리뎀션한 후에는 마켓플레이스에서 제대로 소비되도록 해야 합니다. 이를 수행하는 방법은 다음과 같습니다.
  • Google Play Developer API의 일부인 purchases.products.consume 메서드 사용.
  • Google’s Billing Client의 일부인 BillingClient.consumeAsync 메서드 사용.
  • 또는 UnityUnreal에서 사용 가능한 것과 같은 기본 제공 플러그인 중 하나를 사용.
그럼에도 불구하고 소비 호출을 하기 전에(또는 Unity 또는 Unreal 플러그인에서 클라이언트가 구매 처리를 완료했음을 나타내기 전에) 리뎀션 프로세스 후 1개 이상의 성공과 0 실패200 응답을 받아야 합니다. 202 응답이나 리뎀션 실패를 받은 경우 잠시 후 소비 호출을 다시 한 번 재시도할 것을 권장합니다.

참고 항목

마지막 수정일 2026년 8월 13일