HIVE SDK for C++

HIVE_IAPV4.h
1
19#ifndef __HIVE_IAPV4_H__
20#define __HIVE_IAPV4_H__
21
22#include "HIVE_ResultAPI.h"
23#include <memory>
24
25NS_HIVE_BEGIN
26
27
34enum class IAPV4Type {
35 NotSelected = 0
36 ,AppleAppStore = 1
37 ,GooglePlayStore = 2
38 ,HIVELebi = 3
39 ,OneStore = 4
40 ,AmazonAppStore = 5
41 ,SamsungGalaxyStore = 6
42 ,HuaweiAppGallery = 7
43 ,Funtap = 8
44 ,OPPOAppMarket = 9
45 ,VIVOAppStore = 10
46 ,TencentMyapp = 11
47 ,XiaomiAppStore = 12
48 ,HuaweiAppGalleryChina = 13
49 ,FacebookCloudGame = 14 // deprecated
50 ,HiveStore = 15
51 ,Steam = 16
52 ,Nowgg = 17
53};
54
55class IAPV4Product;
56class IAPV4Receipt;
57class IAPV4PurchaseParam;
58class IAPV4ConsumeInfoUserAgreement;
59
60
77class HIVESDK_DLLEXPORT IAPV4 {
78public:
79
100 typedef std::function<void(ResultAPI const & result,std::vector<IAPV4Type> const & marketIDs)> onMarketConnect;
101
122 typedef std::function<void(ResultAPI const & result,std::vector<IAPV4Product> const & iapV4ProductList,unsigned int balance)> onGetProductInfo;
123
124
148 typedef std::function<void(ResultAPI const & result,IAPV4Receipt const & iapV4Receipt)> onPurchase;
149
172 typedef std::function<void(ResultAPI const & result,std::vector<std::reference_wrapper<IAPV4Receipt>> const & iapv4ReceiptList)> onRestore;
173
192 typedef std::function<void(ResultAPI const & result,std::string marketPid)> onTransactionFinish;
193
194 typedef std::function<void(ResultAPI const& result, const char* marketPid)> onTransactionFinishWithChar;
195
203 typedef std::function<void(ResultAPI const & result,std::string marketPid)> onCheckPromotePurchase;
204
205
222 typedef std::function<void(std::vector<ResultAPI> const & resultList,std::vector<std::string> const & marketPidList)> onTransactionMultiFinish;
223
224
241 typedef std::function<void(ResultAPI const & result, int balance)> onBalance;
242
250 typedef std::function<void(int responseCode)> onInAppMessages;
251
268 typedef std::function<void(ResultAPI const & result, IAPV4ConsumeInfoUserAgreement* const info)> onGetConsumeInfoAgreement;
269
286 typedef std::function<void(ResultAPI const & result, bool didAgree)> onShowConsumeInfoAgreement;
287
306 static void marketConnect(onMarketConnect listener);
307
322 static void getMarketProductInfo(std::vector<std::string> const & marketPidList, onGetProductInfo listener);
323
338 static void getProductInfo(onGetProductInfo listener);
339
356
379 static void purchase(std::string marketPid,std::string iapPayload,onPurchase listener);
380
405 static void purchase(std::string marketPid,std::string iapPayload,int quantity,onPurchase listener);
406
434 static void purchaseSubscriptionUpdate(std::string marketPid,std::string oldMarketPid,std::string iapPayload,onPurchase listener);
435
459 static void purchaseSubscription(IAPV4PurchaseParam param, onPurchase listener);
460
479 static void restore(onRestore listener);
480
500 static void restoreSubscription(onRestore listener);
501
529 static void transactionFinish(std::string marketPid,onTransactionFinish listener);
530
558 static void transactionMultiFinish(std::vector<std::string> const & marketPidList,onTransactionMultiFinish listener);
559
577
592 static void getBalanceInfo(onBalance listener);
593
608 static void showCharge(onBalance listener);
609
624
635
646 static std::string getAccountUuid();
647
660 static void showInAppMessages(int categoryId, onInAppMessages listener);
661
671
681
682
683 static void executeEngine(picojson::value jsonParam);
684};
685
692class HIVESDK_DLLEXPORT IAPV4Product{
693public:
694 IAPV4Product();
695 IAPV4Product(picojson::value const& jsonParam);
696
697 std::string productType;
698 std::string marketPid;
699 std::string currency;
700 double price;
701 std::string displayPrice;
702 std::string title;
703 std::string productDescription;
704 std::string originalMarketJson;
705
706 //Price before Promotion Sale
707 std::string displayOriginalPrice;
716 std::string iconURL;
718};
719
730class HIVESDK_DLLEXPORT IAPV4Receipt{
731public:
732 static std::shared_ptr<IAPV4Receipt> create(picojson::value const& jsonParam);
733 IAPV4Receipt();
734 virtual ~IAPV4Receipt();
735
736
739 std::string iapPayload;
741 std::string hiveiapReceipt;
742 std::string bypassInfo;
744
745 static IAPV4Type getIAPV4TypeFromJson(picojson::value const& jsonParam);
746
747protected:
748 IAPV4Receipt(picojson::value const& jsonParam);
749};
750
751class HIVESDK_DLLEXPORT IAPV4PurchaseParam{
752public:
753 std::string marketPid;
754 std::string iapPayload;
755 std::string oldMarketPid;
756 std::string offerToken;
757
758 IAPV4PurchaseParam();
759 IAPV4PurchaseParam(picojson::value jsonParam);
760
761 picojson::object toJson() const;
762 std::string toString() const;};
763
764class HIVESDK_DLLEXPORT IAPV4ConsumeInfoUserAgreement{
765public:
766 bool didAgree;
767 int64_t firstAnsweredDate;
768 int64_t lastAnsweredDate;
769
770 IAPV4ConsumeInfoUserAgreement();
771 IAPV4ConsumeInfoUserAgreement(picojson::value const jsonParam);
772};
773NS_HIVE_END
774
775#endif /* __HIVE_IAPV4_H__ */
Currently, Hive IAP supports Apple AppStore, Google PlayStore, ONEStore, Samsung GalaxyStore,...
Definition: HIVE_IAPV4.h:77
HIVE IAP 백오피스에서 생성한 상품 정보 마켓에 등록된 상품(Market Pid) 의 정보를 포함한다.
Definition: HIVE_IAPV4.h:692
purchase(String, String, IAPV4PurchaseListener) 나 restore(IAPV4RestoreListener) API 에서 받을 수 있는 결과 정보.
Definition: HIVE_IAPV4.h:730
Definition: HIVE_ResultAPI.h:64
static void getProductInfo(onGetProductInfo listener)
HIVE IAPV4 It returns information for composition of the product.
std::string iapPayload
iapPayload entered in purchase request.
Definition: HIVE_IAPV4.h:739
static void transactionMultiFinish(std::vector< std::string > const &marketPidList, onTransactionMultiFinish listener)
HIVE IAP v4 It requests the multiple transaction completion processing for the purchase receipt of th...
static void getBalanceInfo(onBalance listener)
It request Lebi balance information.
static void transactionFinish(std::string marketPid, onTransactionFinish listener)
HIVE IAP v4 It requests the transaction completion processing for the purchase receipt of the item th...
std::function< void(ResultAPI const &result, std::vector< IAPV4Type > const &marketIDs)> onMarketConnect
HIVE IAPV4 Market information request result callback.
Definition: HIVE_IAPV4.h:100
static void restoreSubscription(onRestore listener)
HIVE IAPV4 It restore the item that has not been delivered.
int quantity
Purchase quantity (Support Google Play multi-purchase)
Definition: HIVE_IAPV4.h:743
static void purchase(std::string marketPid, std::string iapPayload, int quantity, onPurchase listener)
Request purchase of market product (marketPid) registered in App Store, Google Store,...
std::function< void(ResultAPI const &result, IAPV4Receipt const &iapV4Receipt)> onPurchase
Purchase request result callback Request purchase of market product (marketPid) registered in App St...
Definition: HIVE_IAPV4.h:148
IAPV4Type type
Receipt Market Information.
Definition: HIVE_IAPV4.h:737
int coinsReward
상품 아이콘 (512x512) Google Only
Definition: HIVE_IAPV4.h:717
IAPV4Product product
Purchased product information.
Definition: HIVE_IAPV4.h:738
std::string displayPrice
Product price string (ex. $100.00)
Definition: HIVE_IAPV4.h:701
std::string originalMarketJson
Original Product info in Market.
Definition: HIVE_IAPV4.h:704
std::string hiveiapReceipt
Receipt Data to send when requesting validation to IAP server.
Definition: HIVE_IAPV4.h:741
static void getMarketProductInfo(std::vector< std::string > const &marketPidList, onGetProductInfo listener)
Apple Appstore It returns information for composition of the product.
static void marketConnect(onMarketConnect listener)
IAPV4 It initialize IAPV4 Purchase module.
std::function< void(int responseCode)> onInAppMessages
Google In-App Offers.
Definition: HIVE_IAPV4.h:250
std::string productDescription
Product Description.
Definition: HIVE_IAPV4.h:703
IAPV4Type
결제 마켓 형태
Definition: HIVE_IAPV4.h:34
std::function< void(ResultAPI const &result, std::string marketPid)> onTransactionFinish
HIVE IAP v4 Transaction Finish request result callback
Definition: HIVE_IAPV4.h:192
static void purchaseSubscription(IAPV4PurchaseParam param, onPurchase listener)
Request purchase of market product (marketPid) registered in App Store, Google Store,...
static void showCharge(onBalance listener)
It shows Lebi refill page.
double price
Product price.
Definition: HIVE_IAPV4.h:700
std::string productType
consumable, subscription
Definition: HIVE_IAPV4.h:697
static IAPV4Type getSelectedMarket()
현재 선택된 마켓 타입을 반환한다.
static void purchaseSubscriptionUpdate(std::string marketPid, std::string oldMarketPid, std::string iapPayload, onPurchase listener)
Request purchase of market product (marketPid) registered in App Store, Google Store,...
std::function< void(ResultAPI const &result, int balance)> onBalance
HIVE Lebi Balance request result callback, if it is a Rebi store.
Definition: HIVE_IAPV4.h:241
static std::string getAccountUuid()
현재 계정의 UUIDv3 값을 반환한다.
std::function< void(ResultAPI const &result, std::vector< IAPV4Product > const &iapV4ProductList, unsigned int balance)> onGetProductInfo
HIVE IAPV4 Product Information request callback.
Definition: HIVE_IAPV4.h:122
std::string currency
Currency code (ex, KRW / USD)
Definition: HIVE_IAPV4.h:699
std::function< void(ResultAPI const &result, std::string marketPid)> onCheckPromotePurchase
Definition: HIVE_IAPV4.h:203
static void getConsumeInfoAgreement(onGetConsumeInfoAgreement listener)
소비정보 전송 약관에 대한 유저의 마지막 동의 상태 및 시기를 반환한다.
static void showInAppMessages(int categoryId, onInAppMessages listener)
Google In-App Offers.
static void showConsumeInfoAgreement(onShowConsumeInfoAgreement listener)
소비정보 전송 약관 팝업을 노출한다.
static void showMarketSelection(onMarketConnect listener)
It shows a UI to select a Lebi store or a Google store.. If the Google Store and the HIVE Lebi store...
std::string marketPid
Unique product ID registered in Market.
Definition: HIVE_IAPV4.h:698
double originalPrice
세일전 가격 문자열 Google, Apple Only
Definition: HIVE_IAPV4.h:708
std::function< void(std::vector< ResultAPI > const &resultList, std::vector< std::string > const &marketPidList)> onTransactionMultiFinish
HIVE IAP v4 Multiple Transaction Finish request result callback
Definition: HIVE_IAPV4.h:222
static void purchase(std::string marketPid, std::string iapPayload, onPurchase listener)
Request purchase of market product (marketPid) registered in App Store, Google Store,...
std::function< void(ResultAPI const &result, IAPV4ConsumeInfoUserAgreement *const info)> onGetConsumeInfoAgreement
A callback to return the latest consent status and timing for the Consumption Information Transmissio...
Definition: HIVE_IAPV4.h:268
static void restore(onRestore listener)
HIVE IAPV4 It restore the item that has not been delivered.
std::function< void(ResultAPI const &result, bool didAgree)> onShowConsumeInfoAgreement
A callback to notify the user’s consent status as the outcome of the popup for Consumption Informatio...
Definition: HIVE_IAPV4.h:286
static void getSubscriptionProductInfo(onGetProductInfo listener)
HIVE IAPV4 It returns information for composition of the product.
std::string title
Item Title.
Definition: HIVE_IAPV4.h:702
std::function< void(ResultAPI const &result, std::vector< std::reference_wrapper< IAPV4Receipt > > const &iapv4ReceiptList)> onRestore
HIVE IAPV4 Restore request result callback It may happen that the item delivery fails due to various...
Definition: HIVE_IAPV4.h:172
std::string iconURL
세일전 가격 Google, Apple Only
Definition: HIVE_IAPV4.h:716
static void checkPromotePurchase(onCheckPromotePurchase listener)
Apple AppStore Promote InApp Purchase 동작으로 얻어온 MarketPID를 요청한다.
Copyright © Com2uS Platform Corporation. All Right Reserved. Terms of Use Privacy Policy