게임에서 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 | 정의되지 않은 오류 |
⇒ 스토브 담당자에게 문의 부탁드립니다. |
<aside> 💡 스토브 유저는 총 3가지 종류의 유저 구분 번호를 가질 수 있습니다.
이는 상품 구매 주체의 수준을 결정하기 위함입니다. 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회만 호출하면 됩니다.
StovePC.FetchTermsAgreement
메서드로 해당 게임에 대한 사용자의 서비스 이용 약관 동의 정보를 조회합니다.
StovePCResult result = StovePC.FetchTermsAgreement();
if(result == StovePCResult.NoError)
{
// 성공 처리
}
StovePC.FetchTermsAgreement
메서드가 정상적으로 처리되면 OnFetchTermsAgreement
콜백이 호출됩니다.
콜백에 전달되는 StovePCTermsAgreement
구조체에는 약관 동의에 대한 메타정보가 포함되어 있습니다.