빌링서비스 API를 사용하여 PC SDK와 커뮤니케이션 하기 위하여, 게임에서는 아래 StovePCCallback 클래스의 콜백에 연결할 콜백함수를 정의해야 합니다.
struct StovePCCallback
{
void(*OnError)(const StovePCError error);
void(*OnInitComplete)();
void(*OnToken)(const StovePCToken token);
void(*OnUser)(const StovePCUser user);
void(*OnOwnership)(int size, StovePCOwnership* ownership);
// FetchTermsAgreement 처리가 완료됐을 때 호출되는 콜백
void(*OnFetchTermsAgreement ) OnFetchTermsAgreement;
// FetchShopCategories 처리가 완료됐을 때 호출되는 콜백
void(*OnFetchShopCategories) OnFetchShopCategories;
// FetchProducts 처리가 완료됐을 때 호출되는 콜백
void(*OnFetchProducts) OnFetchProducts;
// StartPurchase 처리가 완료됐을 때 호출되는 콜백
void(*OnStartPurchase) OnStartPurchase;
// ConfirmPurchase 처리가 완료됐을 때 호출되는 콜백
void(*OnConfirmPurchase) OnConfirmPurchase;
// FetchInventory 처리가 완료됐을 때 호출되는 콜백
void(*OnFetchInventory) OnFetchInventory;
}
C++
복사
// StovePCCallback 구조체 instance 생성
StovePCCallback callback;
// 모든 함수 포인터를 NULL로 초기화
memset(&callback, 0, sizeof(StovePCCallback));
// 구현한 함수 포인터를 연결
callback.OnError = OnMyErrorCallback; /*전역에서 정의한 콜백함수*/
callback.OnInitComplete = OnMyInitCompleteCallback; /*전역에서 정의한 콜백함수*/
callback.OnToken = OnMyTokenCallback; /*전역에서 정의한 콜백함수*/
callback.OnUser = OnMyUserInfoCallback; /*전역에서 정의한 콜백함수*/
callback.OnOwnership = OnMyOwnershipCallback; /*전역에서 정의한 콜백함수*/
// 서비스 이용 약관
callback.OnFetchTermsAgreement = OnMyFetchTermsAgreement; /*전역에서 정의한 콜백함수*/
// 빌링서비스
OnFetchShopCategories = OnMyFetchShopCategories; /*전역에서 정의한 콜백함수*/
OnFetchProducts = OnMyFetchProducts; /*전역에서 정의한 콜백함수*/
OnStartPurchase = OnMyStartPurchase; /*전역에서 정의한 콜백함수*/
OnConfirmPurchase = OnMyConfirmPurchase; /*전역에서 정의한 콜백함수*/
OnFetchInventory = OnMyFetchInventory; /*전역에서 정의한 콜백함수*/
C++
복사
OnFetchShopCategories, OnFetchProducts, OnStartPurchase, OnConfirmPurchase, OnFetchInventory 콜백을 반드시 구현할 필요는 없습니다.
게임에서 상점이 필요한 경우만 연결하면 됩니다. 단, 상점 기능을 위해서는 5개의 콜백을 모두 구현하여 연결하여야 합니다.