Untitled

1. FetchInventory

UMyStoveSDKObject::StoveSDKFetchInventory 함수로 보관함을 조회합니다. 보관함에는 구매가 완료된 상품들이 보관되어 있습니다. 보관함의 구매 완료 상품 리스트를 이용하여 상품 지급 처리를 할 수 있습니다.

보통 게임은 UMyStoveSDKObject::StoveSDKFetchInventory 함수를 호출하여 상품 구매 상태를 확인 후 즉시 상품을 지급하지만 오류, 게임 재설치 등의 사유로 지급된 상품 정보가 소실 되었을 경우 보관함 정보를 이용하여 복구 작업에 활용이 가능합니다.

FStoveResult UMyStoveSDKObject::StoveSDKFetchInventory()
{
    /*Add the 'walkthrough' codes here.*/
    FStoveResult ErrorResult = Super::StoveSDKFetchInventory();

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

    return ErrorResult;
}

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

콜백에 전달되는 FStoveInventoryItem 구조체에는 구매된 상품에 대한 메타정보가 포함되어 있습니다.

void UMyStoveSDKObject::OnFetchInventory(int Size, FStoveInventoryItem* InventoryItems)
{
     /*Add the 'walkthrough' codes here.*/
     OnLog("[OnFetchInventory]");

     OnLog("InventoyItem size : %d", Size);

     for (int i = 0; i < Size; i++, InventoryItems++)
     {
         OnLog(" -> Index: %d", i);
         OnLog("---------------------------------------------- --------");
         OnLog(" TransactionMasterNo : %I64d", InventoryItems->TransactionMasterNo);
         OnLog(" TransactionDetailNo : %I64d", InventoryItems->TransactionDetailNo);
         OnLog(" ProductId : %I64d", InventoryItems->ProductId);
         OnLog(" GameItemId : %s", *(InventoryItems->GameItemId));
         OnLog(" ProductName : %s", *(InventoryItems->ProductName));
         OnLog(" Quantity : %d", InventoryItems->Quantity);
         OnLog(" ThumnailUrl : %s", *(InventoryItems->ThumbnailUrl));
     }
}

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

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

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