Untitled

1. 상점 카테고리 정보 얻기

UMyStoveSDKObject::StoveSDKFetchShopCategories 함수로 해당 게임에 대한 상점 카테고리 정보를 조회합니다. 카테고리 정보에는 부모 카테고리에 대한 아이디를 포함하고 있어 계층적 구조로 상점을 구성할 수 있습니다.

FStoveResult UMyStoveSDKObject::StoveSDKFetchShopCategories()
{
    FStoveResult ErrorResult = Super::StoveSDKFetchShopCategories();
    if(ErrorResult.Result == StovePCResult::STOVE_PC_NO_ERROR)
    {
        // 성공 처리
    }

   return ErrorResult;
}

UMyStoveSDKObject::StoveSDKFetchShopCategories 함수가 정상적으로 처리되면 OnFetchShopCategories 콜백이 호출됩니다.

콜백에 전달되는 FStoveShopCategory 구조체에는 상점 카테고리에 대한 메타정보가 포함되어 있습니다.

void UMyStoveSDKObject::OnFetchShopCategories(int Size, FStoveShopCategories* Categories)
{

     /*Add the 'walkthrough' codes here.*/
   
     OnLog("[OnFetchShopCategories]");
     OnLog("ShopCategories size = %d ", Size);

     for (int i = 0; i < Size; i++, Categories++)
     {
         OnLog(" -> Index: %d", i);
         OnLog("---------------------------------------------- --------");
         OnLog(" CategoryId : %s", *(Categories->CategoryId));
         OnLog(" ParentCategoryId : %s", *(Categories->ParentCategoryId));
         OnLog(" DisplayNo : %d", Categories->DisplayNo);
         OnLog(" Name : %s", *(Categories->Name));
         OnLog(" Depth : %d", Categories->Depth);
         OnLog("---------------------------------------------- --------");
     }

}

UMyStoveSDKObejct::StoveSDKFetchShopProducts 함수가 실행중에 오류가 발생하면 OnError 콜백이 호출됩니다.

FStoveError 구조체의 ExternalError 필드를 통해 외부 오류를 확인할 수 있습니다.

ExternalError Description
500 Internal Server Error
⇒ 스토브 담당자에게 문의 부탁드립니다.
999999 정의되지 않은 오류
⇒ 스토브 담당자에게 문의 부탁드립니다.

2. 상품 정보 호출

UMyStoveSDKObject::StoveSDKFetchProducts 함수로 해당 게임에 대한 상품 정보를 조회합니다.

// 입력 파라미터
// FString CategoryId : 파트너스에서 등록한 카테고리 식별자(빈문자열 전달시 전체 카테고리 조회)
// bool IsRefresh : true 인 경우 Web API 조회, false 인 경우 PC SDK 의 Cache 조회

FStoveResult UMyStoveSDKObject::StoveSDKFetchProducts(const FString& CategoryId, const bool IsRefresh)
{
    /*Add the 'walkthrough' codes here.*/

    FStoveResult ErrorResult = Super::StoveSDKFetchProducts(CategoryId, IsRefresh);

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

    return ErrorResult;
}

UMyStoveSDKObject::StoveSDKFetchProducts 함수가 정상적으로 처리되면 OnFetchProducts 콜백이 호출됩니다.