빌링서비스 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개의 콜백을 모두 구현하여 연결하여야 합니다.