Hive SDK v1.19.1부터 IAP v2의 지원을 종료합니다. Hive SDK v1.19.1 이상의 환경에서는 Hive IAP v4를 적용하시기 바랍니다.
본 가이드는 Hive IAP v2에 대해 안내하며, Hive SDK v1.19.0 이하 v1.9.0 이상에서 적용하실 수 있습니다.

C2SModuleHiveIAP_Purchase

Hive IAP v2 상품에 대한 구매를 호출한다.

  • purchase() 메서드를 호출하는 도중 마켓 오류로 RESPONSE_FAIL, CANCELED 에러가 발생하면 사용자에게 구매 과정에 문제가 있음을 알린다.
  • 구매 과정에 문제가 있다는 알림을 사용자가 확인했다면 restore() 메서드를 호출하여 구매 복구를 진행한다.
  • purchase() 메서드를 호출하는 도중 NEED_RESTORE 에러가 발생하면 구매가 취소되며, 이 경우 restore()메서드를 호출하여 구매 복구를 진행한다.
  • 구매 복구 시 RESPONSE_FAIL 에러가 발생하면 구매를 진행할 수 없으므로 사용자에게 복구 과정에 문제가 있음을 알려야 한다.
  • 인앱 구입 차단 문구 가이드를 참고하면 필요에 따라 NOT_SUPPORTED 에러 처리로 사용자가 구매 할 수 없는 상태임을 알릴 수 있다.
Request
argument name type description platform 비고
pid string market pid가 아닌 HiveIAP에서 shopInfo를 호출하여 내려받은 pid all
additionalInfo string (JSON string 형태)
구매시 필요한 추가 정보를 기입한다.
ex) “{“server_id”:”0″,”character”:”0″}”
all 1.12.1+
Response

Purchase API 호출시 error 리턴 여부로 구매 성공/실패 판단
구매가 성공하여 성공 콜백을 전달 받았을 경우 C2SModuleHiveIAP_Info (type = “shopInfo”)를 호출하여 상점의 상품정보를 갱신해 주어야한다.

argument name type description platform 비고
gameProduct dictionary 게임 상품 정보 all 1.11.2+
gameTransactionId string 게임 상품에 대한 Hive IAP의 transactionId all 1.11.2+

dictionary type for gameProduct
(locationCode = “DEFAULT” 를 사용한다면 비고에 * 표시가 된 값은 사용하지 않는다.)

argument name type description platform 비고
pid string 게임에서 사용하는 상품 pid all
marketPid string 마켓에 등록된 상품 pid all
price double 상품 가격 all
displayPrice string 상품 가격 문자열(ex. ₩1,000) all
currency string 통화 코드 all
additionalInfo string (JSON string 형태)
구매시 입력한 추가 정보
all 1.12.1+
title string 상품 타이틀 all *
description string 상품 설명 all *
currency string 통화 코드 all *
badgeImageUrl string 뱃지 이미지 url all *
productImageUrl string 상품 이미지 url all *
titleLandscapeImageUrl string 상품 타이틀 이미지 (가로) all *
titlePortraitImageUrl string 상품 타이틀 이미지 (세로) all *
descLandscapeImageUrl string 상품 설명 이미지 (가로) all *
descPortraitImageUrl string 상품 설명 이미지 (세로) all *
productType string 상품 타입
일반 상품 : general / 시리즈 상품 : series
all 1.11.2+
*
salesStartUTC long 상품 판매 시작 시간
-1일 경우 무제한
all 1.11.2+
*
salesExpireUTC long 상품 판매 만료 시간
-1일 경우 무제한
all 1.11.2+
*
seriesInfo dictionary 시리즈 상품 정보
(productType = general일 땐 필드 없음)
all 1.11.2+
*
샘플 코드
Unity®

API Reference: C2SModule.HiveIAP.Purchase

  • public static bool C2SModule.HiveIAP.Purchase(C2SModule.Parameter arg, out C2SModule.Error error);
  • public static bool C2SModule.HiveIAP.Purchase(C2SModule.Parameter arg, out C2SModule.Error error,
    C2SModule.CompletionHandler completionHandler);

Unreal

API Reference: HiveSDKUEHiveIAP_Purchase

  • void HiveSDKUEHiveIAP_Purchase(FString fstrJson);

Cocos2d-x

API Reference: C2SModuleHiveIAP_Purchase

  • bool C2SModuleHiveIAP_Purchase(const char* pstrJson, C2SModule_Cocos2dx::C2SModuleError* pkError,
    C2SModule_Cocos2dx::C2SModuleCompletionHandler* completionHandler = NULL);

iOS

API Reference: C2SModuleHiveIAP Purchase

  • +(BOOL)Purchase:(id)arg error:(NSError**)error;
  • +(BOOL)Purchase:(id)arg error:(NSError**)error completionHandler:(void(^)(NSDictionary *, NSError*))
    completionHandler;

인앱 구입 차단 문구 가이드
한글 앱 내 구입 기능이 차단이 되어 구매가 불가합니다.
해제 후 다시 시도해 주세요.
(설정 > 일반 > 차단)
영문 You can’t make a purchase because the in-app purchase feature has been blocked.
Please unblock the feature and try again.
(Settings> General> Restrictions)
프랑스어 u ne peux pas effectuer l’achat car la fonction d’achat in-app a été bloquée.
Débloque d’abord la fonction et essaie de nouveau.
(Paramètres > Général > Restrictions)
독일어 Kauf nicht möglich, weil das In-App-Kauf-Feature gesperrt ist.
Bitte entsperre es und versuche es erneut.
(Einstellungen>Allgemein>Einschränkungen)
일어 App内の購入機能が制限されており、購入できません。
解除した後、再度お試しください。
(設定 > 一般 > 機能制限)
중국어(간체) 因App内购功能已关闭,无法进行购买。
请开启后再试。
(设置>通用>访问限制>App内购买项目)
중국어(번체) 因App內購功能已關閉, 無法進行購買.
請開啟後重新再試
(設置>一般>限制>App內購買項目)
러시아어 Покупка недоступна, т.к. на устройстве отключены встроенные покупки.
Активируйте данную функцию и повторите попытку.
(«Настройки» > «Основные» > «Ограничения»)
스페인어 No se puede realizar la compra porque la función de Compras en la app ha sido bloqueada.
Favor de desbloquear la función y volver a intentar.
(Configuración> General> Restricciones)
포르투갈어 Você não pode efetuar uma compra porque a função de compra do app foi bloqueada.
Por favor, desbloqueie a função e tente novamente.
(Configurações> Geral> Restrições)
인도네시아어 Pembelian tidak bisa dilakukan karena fitur pembelian In-App telah dibatasi.
Silakan matikan pembatasan dan coba lagi.
(Pengaturan > Umum > Pembatasan)
터키어 Uygulama içi satın alma özelliği bloke edildiği için satın almayı yapamazsınız.
Lütfen özelliğin blokajını kaldırıp tekrar deneyiniz.
(Ayarlar> Genel>Kısıtlamalar)
베트남어 Bạn không thể thực hiện giao dịch do tính năng Mua In-App đang bị tắt.
Vui lòng bật tính năng và thử lại.
(Cài đặt > Cài đặt chung > Giới hạn)
태국어 คุณไม่สามารถซื้อได้เนื่องจากเมนูการซื้อของในแอพพลิเคชั่นถูกบล็อคอยู่
กรุณาปลดล็อคแล้วลองอีกครั้ง
(ตั้งค่า> ทั่วไป > การจำกัด)
이탈리아어 Non puoi effettuare l’acquisto perché la funzione di acquisti in-app è bloccata.
Preghiamo di sbloccare la funzione e riprovare.
(Settings> General> Restrictions)