Untitled

1. 상점 카테고리 정보 호출

StovePC.FetchShopCategories 함수로 해당 게임에 대한 상점 카테고리 정보를 조회합니다.

StovePCResult result = StovePC.FetchShopCategories();
if(result == StovePCResult.NoError)
{
    // 성공 처리
}

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

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

private void OnFetchShopCategories(StovePCShopCategory[] categories)
{
    StringBuilder sb = new StringBuilder();
    sb.AppendLine("OnFetchShopCategories");
    sb.AppendFormat(" - categories.Length : {0}" + Environment.NewLine, categories.Length);

    for (int i = 0; i < categories.Length; i++)
    {
        sb.AppendFormat(" - categories[{0}].CategoryId : {1}" + Environment.NewLine, i, categories[i].CategoryId);
        sb.AppendFormat(" - categories[{0}].ParentCategoryId : {1}" + Environment.NewLine, i, categories[i].ParentCategoryId);
        sb.AppendFormat(" - categories[{0}].DisplayNo : {1}" + Environment.NewLine, i, categories[i].DisplayNo.ToString());
        sb.AppendFormat(" - categories[{0}].Name : {1}" + Environment.NewLine, i, categories[i].Name);
        sb.AppendFormat(" - categories[{0}].Depth : {1}", i, categories[i].Depth.ToString());    
    
        if (i < categories.Length - 1)
              sb.AppendFormat(Environment.NewLine);
    }
    
    Debug.Log(sb.ToString());
}

StovePC.FetchShopProducts 함수가 실행중에 오류가 발생하면 OnError 콜백이 호출됩니다. StovePCError 구조체의 ExternalError 필드를 통해 외부 오류를 확인할 수 있습니다.

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

2. 상품 정보 호출

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

// 입력 파라미터
// string categoryId : 스튜디오에서 등록한 카테고리 식별자(빈문자열 전달시 전체 카테고리 조회)
// bool isRefresh : true 인 경우 Web API 조회, false 인 경우 PC SDK 의 Cache 조회
StovePCResult result = StovePC.FetchProducts("CATEGORY_ID", IS_REFRESH);
if(result == StovePCResult.NoError)
{
    // 성공 처리
}

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

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