다음을 통해 공유


Google Play 스토어에서 구매할 수 있는 PlayFab 구독 설정

참고 항목

Google 구독 상환은 현재 프라이빗 미리 보기로 제공됩니다. 이 기능에 액세스하려면 PlayFab 타이틀 ID와 함께 PlayFab 모바일 구독이라는 제목의 전자 메일을 PFEconomyPreviews@microsoft.com(으)로 보내면 사용자 환경에서 이 기능을 사용하도록 설정하겠습니다.

이 자습서에서는 PlayFab 구독을 성공적으로 만들고, 플레이어가 구매할 수 있도록 Google 마켓플레이스의 게임에 추가하고, 포함된 아이템을 상환하는 방법을 보여줍니다.

필수 조건

  1. PlayFab 게임 관리자에 있는 타이틀
  2. 선택한 타이틀과 원하는 마켓플레이스 간의 기존 통합
  3. 이미 생성되어 Google Play에서 제공 중인 앱

1단계: 구독 만들기

구독 상환을 시작하기 전에 먼저 게임 관리자Google Play 콘솔의 앱에서 모두 사용할 수 있어야 합니다.

이 자습서에서는 Google Play Console에서 구독을 만드는 것으로 시작합니다.

Google Play 콘솔

Google Play 콘솔을 사용하여 구독을 만들려면 다음 단계를 수행해야 합니다.

  1. Google Play Console에서 원하는 을 엽니다.
  2. 왼쪽 탐색 메뉴에서 수익 창출 섹션까지 아래로 스크롤하고 구독을 선택합니다.
  3. 오른쪽 위에서 Create 구독을 선택합니다.
  4. 구독에 사용할 원하는 제품 ID이름을 입력합니다. 이 자습서에서는 up_basic_sub제품 ID로 사용합니다. 게임 관리자를 연결하는데 제품 ID가 사용되므로 기억해 두세요.
  5. 기본 계획 및 제안까지 아래로 스크롤하고 기본 계획 추가를 선택합니다.
  6. 기본 계획에 원하는 구성을 추가하고 오른쪽 아래에서 저장을 선택합니다.
  7. 저장을 선택하여 구독과 관련해 변경한 모든 사항을 저장합니다. 저장해도 제품으로 활성화되지는 않습니다. 저장되면 활성화 옵션이 나타납니다. Google Play Console의 앱에서 구독을 활성화하려면 오른쪽 아래에 있는 활성화 단추를 선택합니다.

게임 관리자를 사용하여 구독 만들기

게임 관리자에서 새 구독을 만들려면 다음 단계를 수행합니다.

  1. 게임 관리자에서 타이틀로 이동합니다.
  2. 왼쪽 탐색 메뉴에서 참여>경제를 선택합니다.
  3. 구독 탭을 선택합니다.
  4. 새 구독을 선택합니다.
  5. 아이템, 가격 등 원하는 정보를 구독에 추가합니다. 이 자습서에서는 Swords Subscription을 이름으로 사용합니다.
  6. 페이지 끝까지 아래로 스크롤한 뒤 바로 게시하려면 저장 및 게시를 선택하고 저장은 하되 아직 사용할 수 없도록 하려면 임시로 저장합니다.

구독에 아이템 추가

구독 자체는 플레이어에게 아이템을 제공하지 않습니다. 먼저 아이템을 플레이어에 연결해야 하며, 상환 시 해당 특정 플레이어에게 해당 아이템이 부여됩니다.

구독에 아이템을 추가하기 전에 카탈로그에 아이템이 이미 생성 및 게시된 상태여야 합니다. 우리는 이미 Oath Keeper라는 칼 아이템과 Frostmourne이라는 또 다른 칼 아이템을 가지고 있습니다. 아이템을 만드는 방법을 모른다면 이 단계를 참조하세요.

이제 아이템을 구독에 추가할 차례입니다. 아이템이 이미 생성된 상태라면 처음에 구독을 만드는 동안 아이템을 추가할 수 있습니다. 또는 나중에 구독 항목을 편집하여 추가할 수 있습니다.

편집 모드에서 구독의 아이템 섹션까지 아래로 스크롤하고 추가 단추를 선택하면 사용할 수 있는 카탈로그 내 모든 아이템을 보여주는 창이 표시됩니다. 여기에서 유형(아이템 또는 UGC(사용자 생성 콘텐츠) 아이템)별로 필터링하거나 특정 아이템을 검색할 수 있습니다. 이 경우 두 개의 항목만 게시되므로 각 항목 옆에 있는 추가 단추를 선택하고 마지막으로 창 아래쪽에 파란색 추가 단추를 선택합니다.

마켓플레이스 매핑 사용

플레이어가 앱에서 구독을 구매할 때 구매 및 게임 관리자 할당이 올바르게 이루어지도록 하려면 마켓플레이스 매핑을 구성해야 합니다. 이 작업은 게임 관리자에서 구독을 만드는 동안에 또는 구독을 만든 후 편집 모드에서 구독으로 돌아가서 수행할 수 있습니다.

  1. 편집 모드에서 구독으로 이동합니다.
  2. 마켓플레이스 매핑 섹션까지 아래로 스크롤합니다.
  3. 마켓플레이스 드롭다운에서 원하는 마켓플레이스를 선택합니다. (이 자습서에서는 GooglePlay)
  4. 마켓플레이스 ID로 Google Play Console의 제품 ID와 동일한 ID를 사용해야 합니다. 이 자습서에서는 up_basic_sub를 사용했습니다.
  5. 완료하려면 해당 행의 오른쪽에 있는 +를 선택합니다.

2단계: 구매 토큰 생성

참고 항목

계속하기 전에 3번 필수 조건을 충족하는지 확인하세요. 그렇지 않은 경우 구매 토큰을 생성할 수 있는 실질적인 방법이 없습니다.

구매 토큰은 영수증 ID처럼 구매할 때마다 Google Play의 API에 의해 생성되는 토큰입니다. Google 설명서에 따르면 "구매 토큰은 Google Play 제품에 대한 구매자의 자격을 나타내는 문자열입니다. Google 사용자가 특정 제품에 대한 요금을 지불했음을 나타냅니다."

Google Marketplace에서의 구매를 확인하기 위해 PlayFab의 API로 토큰이 전송되어야 하므로 구현에서 해당 토큰을 저장해야 합니다. 이를 통해 PlayFab에서 플레이어의 구매 아이템을 상환하고 플레이어의 인벤토리에 부여할 수 있습니다.

토큰을 생성하려면 Google Play와의 활성 통합으로 실행 중인 앱이 이미 있는 상태여야 합니다. 또한 Google Play의 앱 등록에 구매 가능한 아이템(또는 이 경우 구독)이 있어야 합니다. 코드 구현은 구매 시 반환되는 토큰을 가져오기 위해 Google Play 청구 시스템을 사용해야 합니다.

요약하자면, 앱을 코딩할 때 Google Play 청구 시스템을 사용해야 하며, 해당 청구 시스템을 통해 Google 측에서 구독을 구매할 수 있고, 이때 구매 토큰이 반환됩니다. 이렇게 반환된 토큰을 PlayFab의 경제 API와 함께 사용하여 구매한 구독을 상환하고 플레이어의 인벤토리에 구독 아이템을 추가할 수 있습니다.

Google 시스템을 사용하는 유사한 프로젝트의 구현 예시를 이 CodeLab에서 확인하세요.

청구에 대한 자세한 내용은 Google의 청구 시스템 설명서를 참조하세요.

3단계: 구독 상환

이제 게임 관리자Google Play Console 모두에서 구독을 만들었으므로 플레이어 중 한 명의 구독을 상환할 수 있습니다. 이 예제에서는 PlayFab의 API, 특히 PlayFab 경제 API의 일부인 RedeemGooglePlayInventoryItems 메서드를 사용하여 이 작업을 수행하는 데 중점을 둡니다.

AlternateID 확인

상환 호출을 사용하기 전에 게임 관리자에 올바른 AlternateId가 있는지 확인합니다. Google Play Console의 ID와 동일해야 합니다.

다음 스크린샷은 게임 관리자의 구독 내에서 가져온 것입니다. 마켓플레이스 ID가 여기서 말하는 AlternateId이며, 기본적으로 구독을 식별하는 또 다른 방법입니다.

Google Play 콘솔에서 앱 내의 구독으로 이동하고 구독 세부 정보 아래에서 구독을 포함하여 생성된 모든 제품을 볼 수 있습니다. 두 번째 열에서 확인할 수 있는 제품 ID게임 관리자AlternateId와 같아야 하며 그렇지 않다면 게임 관리자를 업데이트해야 합니다.

플레이어 인증

아이템을 상환하려면 RedeemGooglePlayInventoryItems를 사용합니다. 하지만 그 전에 아이템을 상환하려는 플레이어가 앱에서 제대로 인증되는지 확인해야 합니다. 이를 위해 LoginWithGoogleAccount를 사용할 수 있습니다.

참고 항목

자세한 예제는 Unity에서 Google Play 게임 로그인을 사용하여 PlayFab 인증 설정을 참조하세요.

LoginWithGoogleAccount 호출이 성공하면 PlayFab의 API는 X-EntityToken 키와 함께 RedeemGooglePlayInventoryItems 헤더의 일부로 사용해야 하는 EntityToken을 반환합니다.

상환 호출

플레이어가 인증되었고, 구독 인스턴스가 모두 생성되었으며, 해당 대체 ID가 확인되었고, 구매 토큰이 상환을 호출할 준비가 되었습니다. 이를 위해 RedeemGooglePlayInventoryItems API 호출을 사용합니다.

{
    "Purchases": [
        {
            "ProductId": "up_basic_sub",
            "Token": "{Your purchase token}"
        }
    ]
}

호출은 간단합니다. Product ID(Google Play Console에 있는 ID와 일치해야 함)가 포함된 Purchases 배열과 Google Play 청구 시스템을 호출하면 반환되는 구매 토큰에 해당하는 Token 필드를 포함합니다.

성공적인 응답에는 타임스탬프MarketplaceTransactionId와 같은 데이터와 함께 제공되는 200 status code이(가) 있습니다.

성공적으로 상환된 후 플레이어의 인벤토리로 이동하면 이제 구독에 연결된 두 아이템을 모두 볼 수 있습니다.

또한 각 상환 작업은 지정된 플레이어의 개요 페이지 아래에 있는 트랜잭션 기록(V2) 탭에서 검색할 수 있는 플레이어의 트랜잭션 기록에 해당 로그를 트리거합니다.

플레이어 트랜잭션 기록의 레코드와 함께 PlayStream 이벤트도 트리거되어 기록됩니다. 게임 관리자의 왼쪽 탐색 모음에 있는 분석 섹션 아래의 데이터 페이지로 이동하여 타이틀에 대한 이러한 로그에 액세스할 수 있습니다. 여기에서 쿼리를 편집하여 특정 레코드를 검색하거나 기본 설정으로 실행하여 모든 레코드를 가져올 수 있습니다. items_redeemed이벤트 이름 아래에 레코드가 있어야 합니다. 방금 사용한 구독에 대한 새 이벤트가 하나만 표시됩니다.

참고 항목