빌링서비스 API를 사용하여 PC SDK와 커뮤니케이션 하기 위하여, 게임에서는 아래 UMyStoveSDKObject 클래스의 정의된 콜백함수를 재정의해야 합니다.

//StoveCallback

UCLASS()
class HELLOSTOVE_API UMyStoveSDKObject : public UStoveSDKObject
{
    GENERATED_BODY()

public:

    void OnInitComplete() final;
    void OnError(FStoveError Error) final;
    void OnToken(FStoveToken Token) final;
    void OnUser (FStoveUser User) final;
    void OnOwnership(int Size, FStoveOwnership* Ownerships) final;

    // FetchShopCategories 처리가 완료됐을 때 호출되는 콜백
    void OnFetchShopCategories(int Size, FStoveShopCategories* Categories) final;

    // FetchProducts 처리가 완료됐을 때 호출되는 콜백    
    void OnFetchProducts(int Size, FStoveProduct* Products) final;

    // StartPurchase 처리가 완료됐을 때 호출되는 콜백
    void OnStartPurchase(FStovePurchase Purchase) final;

    // ConfirmPurchase 처리가 완료됐을 때 호출되는 콜백
    void OnConfirmPurchase(int Size, FStovePurchaseProduct* PurchaseProducts, bool Status, FString ShopKey) final;

    // FetchInventory 처리가 완료됐을 때 호출되는 콜백    
    void OnFetchInventory(int Size, FStoveInventoryItem* InventoryItems) final;

}

Config, Callback 설정, 에서와 같이 콜백함수를 재정의 하여 이벤트를 전달 받습니다.

// 빌링서비스
void UMyStoveSDKObject::OnFetchTermsAgreement(const FStoveTermsAgreement TermsAgreement)
{
   // 서비스 이용 약관
}
void UMyStoveSDKObject::OnFetchShopCategories(int Size, FStoveShopCategories* Categories)
{
   // 상점 카테고리 API 호출후 
}

void UMyStoveSDKObject::OnFetchProducts(int Size, FStoveProduct* Products)
{
   // 상점에 등록된 상품 API 호출 후 
}
void UMyStoveSDKObject::OnStartPurchase(FStovePurchase Purchase)
{
   // 상품 결제 시도 후 
}
void UMyStoveSDKObject::OnConfirmPurchase(int Size, FStovePurchaseProduct* PurchaseProducts, bool Status, FString ShopKey)
{
   // 상품 구매 확인 후 
}
void UMyStoveSDKObject::OnFetchInventory(int Size, FStoveInventoryItem* InventoryItems)
{
   // 보관함 조회 API 호출 후 
}

OnFetchShopCategories, OnFetchProducts, OnStartPurchase, OnConfirmPurchase, OnFetchInventory 콜백을 반드시 구현할 필요는 없습니다.

게임에서 상점이 필요한 경우만 연결하면 됩니다. 단, 상점 기능을 위해서는 5개의 콜백을 모두 구현하여 연결하여야 합니다.