Google Play Store에서 구매할 수 있는 PlayFab 번들 설정
이 자습서에서는 플레이어가 구매할 수 있도록 PlayFab 번들을 만들고 Google Marketplace의 게임에 추가하는 방법과 그 안에 포함된 아이템을 리뎀션하는 방법을 보여줍니다.필수 구성 요소
- PlayFab의 Game Manager의 타이틀.
- 선택한 타이틀과 원하는 마켓플레이스 간의 기존 통합.
- Google Play에 이미 생성되고 사용 가능한 앱.
- 앱에 Google Play Android Developer API가 활성화되어 있는지 확인하세요.
1단계: 번들 만들기
이 자습서에서는 Google Play Console에서 번들을 만드는 것부터 시작합니다.Google Play Console을 사용하여 번들 만들기
- Google Play Console에서 원하는 앱을 엽니다.
-
왼쪽 탐색 모음에서 Monetize 섹션까지 아래로 스크롤하여 In-app products를 선택합니다.

-
오른쪽 상단에서 Create product를 선택합니다.

-
원하는 Product ID와 번들 Name을 입력합니다. 이 자습서에서는 Product ID로 warrior_bundle을 사용합니다. Product ID는 Game Manager 연결에 사용되므로 기억하세요.

-
Price 섹션까지 아래로 스크롤하여 Set price를 선택합니다.

-
번들에 원하는 가격을 추가하세요(예: $1.00). 오른쪽 하단에서 Apply prices를 선택합니다.

-
Save를 선택하여 방금 번들에 만든 모든 변경 사항을 저장합니다. 저장하면 제품으로 활성화되지는 않습니다. 저장되면 활성화 옵션이 나타납니다. Google Play Console의 앱에서 번들을 활성화하려면 오른쪽 하단의 Activate 버튼을 선택합니다.

Game Manager를 사용하여 번들 만들기
Game Manager에서 새 번들을 만들려면 다음 단계를 따르세요.- Game Manager로 이동하여 Title로 이동합니다.
-
왼쪽 탐색 메뉴에서 Engage > Economy를 선택합니다.

-
Bundles 탭을 선택합니다.

-
New bundle을 선택합니다.

-
아이템 및 가격 등 원하는 정보를 번들에 추가합니다. 이 자습서에서는 이름으로 Warrior Bundle을 사용합니다.

-
페이지 끝까지 아래로 스크롤하여 즉시 게시하려면 Save and publish를 선택하거나, 저장하되 아직 사용할 수 없게 하려면 Save as draft를 선택합니다.

번들에 아이템 추가
번들 자체는 플레이어에게 아이템을 부여하지 않습니다. 먼저 아이템을 연결해야 하며 리뎀션되면 해당 특정 플레이어에게 해당 아이템을 부여합니다. 번들에 아이템을 추가하기 전에 카탈로그에 이미 아이템이 만들어지고 게시되었는지 확인하세요. 이미 Fire Sword라는 검과 Ice Shield라는 방패가 있습니다. 아이템 만드는 방법을 모르는 경우 이 단계를 참조하세요. 이제 번들에 추가해 봅시다! 이를 위해 아이템이 이미 만들어져 있다고 가정하고 처음 번들을 만드는 동안 추가하거나 나중에 번들 아이템을 편집하여 추가할 수 있습니다. 편집 모드에서 번들의 Items 섹션까지 아래로 스크롤하여 Add 버튼을 선택하면 카탈로그에서 사용 가능한 모든 아이템이 표시되는 창이 표시됩니다. 여기서 유형별로 필터링(Items 또는 User Generated Content (UGC) Items)하거나 특정 아이템을 검색할 수 있습니다. 추가하려는 각 아이템 옆의 Add 버튼을 선택하고 마지막으로 창 하단의 파란색 Add 버튼을 선택합니다.
Marketplace Mapping 활성화
플레이어가 앱에서 번들을 구매할 때 Game Manager에서 올바르게 구매되고 할당되도록 하려면 Marketplace Mapping을 구성해야 합니다. 이는 Game Manager에서 번들을 만드는 동안 수행하거나 번들이 만들어진 후 편집 모드에서 번들로 돌아가 수행할 수 있습니다.- 편집 모드에서 번들로 이동합니다.
- Marketplace Mapping 섹션까지 아래로 스크롤합니다.
- Marketplace 드롭다운에서 원하는 마켓플레이스를 선택합니다. (이 자습서의 경우 GooglePlay입니다.)
- Marketplace ID의 경우 Google Play Console의 Product ID와 동일한지 확인하세요. 이 자습서에서는 Warrior_bundle을 사용했습니다.
- 마무리하려면 해당 행 오른쪽에서 + 를 선택합니다.

2단계: Purchase Token 생성
계속하기 전에 필수 구성 요소 #3을 완료했는지 확인하세요. 그렇지 않으면 Purchase Token을 생성하는 실용적인 방법이 없습니다.
3단계: 번들 리뎀션
이제 Game Manager와 Google Play Console 모두에서 번들이 만들어졌으므로 플레이어 중 한 명에게 번들을 리뎀션할 수 있습니다. 이 예에서는 PlayFab의 Economy API의 일부인 RedeemGooglePlayInventoryItems 호출을 사용하여 PlayFab의 API를 사용하는 데 중점을 둡니다.AlternateID 확인
리뎀션 호출을 하기 전에 Game Manager에서 올바른 AlternateId가 있는지 확인하세요. Google Play Console의 것과 동일해야 합니다. 다음 스크린샷은 Game Manager의 번들 내부에서 가져온 것입니다. Marketplace ID는 우리가 AlternateId라고 부르는 것이며, 기본적으로 번들을 식별하는 또 다른 방법입니다.

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

리뎀션 호출
플레이어가 인증되고 두 번들 인스턴스가 만들어지고 Alternate ID가 확인되었으며 Purchase Token이 있으면 리뎀션 호출을 할 준비가 되었습니다. 이를 위해 RedeemGooglePlayInventoryItems API 호출을 사용합니다.Product ID(Google Play Console의 것과 일치해야 함)를 포함하는 Purchases 배열과 Google Play Billing System을 호출할 때 반환된 Purchase Token에 해당하는 Token 필드가 있습니다.
성공적인 응답에는 timestamp와 MarketplaceTransactionId와 같은 데이터와 함께 200 status code가 포함됩니다.
성공적인 리뎀션이 이루어진 후 플레이어의 인벤토리로 이동하면 이제 번들에 연결된 두 아이템을 모두 볼 수 있어야 합니다.



items_redeemed PlayStream 이벤트가 기록되어 있음을 알 수 있습니다. 이는 하나의 번들만 리뎀션했지만 번들에 두 개의 서로 다른 아이템이 포함되어 있기 때문입니다.
4단계: 소비
구매를 성공적으로 리뎀션한 후에는 마켓플레이스에서 제대로 소비되도록 해야 합니다. 이를 수행하는 방법은 다음과 같습니다.- Google Play Developer API의 일부인 purchases.products.consume 메서드 사용.
- Google’s Billing Client의 일부인 BillingClient.consumeAsync 메서드 사용.
- 또는 Unity와 Unreal에서 사용 가능한 것과 같은 기본 제공 플러그인 중 하나를 사용.
200 응답을 받아야 합니다. 202 응답이나 리뎀션 실패를 받은 경우 잠시 후 소비 호출을 다시 한 번 재시도할 것을 권장합니다.
