Untitled

1. 빌링 초기화 (Shopkey 사용)

게임에서 PCSDK 를 사용해서 빌링서비스를 제공하기로 결정하였다면, 스토브에서 발급된 상점키 ShopKey 인자값으로 UMyStoveSDKObject::StoveSDKIAPInit 함수로 빌링 초기화를 시도합니다.

빌링초기화 시도시 스토브 플랫폼에 등록된 상품리스트를 자동으로 조회한 후 스토브 PCSDK 내부 캐시에 저장을 합니다.

UMyStoveSDKObject::StoveSDKIAPInit 함수를 호출하고 실패하였다면 FStoveResult와 OnError 콜백으로 에러내용을 전달합니다.

// 입력 파라미터
// FString ShopKey : 스토브에서 발급받은 ShopKey

FStoveResult UMyStoveSDKObject::StoveSDKIAPInit(const FString& ShopKey)
{
    /*Add the 'walkthrough' codes here.*/

    FStoveResult ErrorResult = Super::StoveSDKIAPInit(ShopKey);

    if (ErrorResult.Result == StovePCResult::STOVE_PC_NO_ERROR)
    {
       //성공처리
    }

    return ErrorResult;
}

확인될 수 있는 ExternalErrors 를 안내드립니다.

ExternalError Description
500 Internal Server Error
⇒ 스토브 담당자에게 문의 부탁드립니다.
50001 상점이 존재하지 않거나, 점검 중
⇒ 스튜디오 내 상점이 On/Off 상태인지 확인 부탁드립니다. 만약에 On 상태라면, 스토브 담당자에게 문의 부탁드립니다.
50002 상품이 존재 하지 않거나 판매 불가능 상품
⇒ 스튜디오 내 상품의 등록 여부, On/Off 상태, 판매 기간을 확인 부탁드립니다. 만약 모두 정상이라면, 스토브 담당자에게 문의 부탁드립니다.
999999 정의되지 않은 오류
⇒ 스토브 담당자에게 문의 부탁드립니다.

2. 게임프로필 호출

<aside> 💡 스토브 유저는 총 3가지 종류의 유저 구분 번호를 가질 수 있습니다.

  1. Character No. ⇒ 게임 내 캐릭터별 번호 (옵션)
  2. GUID ⇒ 각 게임별로 발급되는 회원번호
  3. Member No. ⇒ 스토브 공통 회원번호

이는 상품 구매 주체의 수준을 결정하기 위함입니다. PC SDK는 상품 구매 주체의 우선순위를 아래와 같이 매깁니다.

</aside>

UMyStoveSDKObject::StoveSDKSetGameProfile 함수를 통해 캐릭터 정보가 설정되면 PC SDK는 상품 구매시 Character No.를 기준으로 구매를 진행합니다.

반면에 UMyStoveSDKObject::StoveSDKSetGameProfile 함수를 통해 캐릭터 정보가 설정되지 않은 경우, PC SDK는 Guid 또는 Member No.를 기준으로 구매를 진행합니다.

따라서 상품 구매시 상품 구매 주체가 잘 적용되도록 하려면 PC SDK의 빌링서비스 API를 호출하기 전에 UMyStoveSDKObject::StoveSDKSetGameProfile API 호출 여부를 고려해야 합니다.

일반적으로 UMyStoveSDKObject::StoveSDKSetGameProfile 함수는 월드/캐릭터 변경시마다 1회만 호출하면 됩니다.

3. 서비스 이용 약관 동의 여부 조회

StovePC.FetchTermsAgreement 메서드로 해당 게임에 대한 사용자의 서비스 이용 약관 동의 정보를 조회합니다.

StovePCResult result = StovePC.FetchTermsAgreement();
if(result == StovePCResult.NoError)
{
    // 성공 처리
}

StovePC.FetchTermsAgreement 메서드가 정상적으로 처리되면 OnFetchTermsAgreement 콜백이 호출됩니다.

콜백에 전달되는 StovePCTermsAgreement 구조체에는 약관 동의에 대한 메타정보가 포함되어 있습니다.