HIVE SDK for C++

HIVE_Promotion.h
이 파일의 문서화 페이지로 가기
1
21#ifndef __HIVE_PROMOTIONVIEW_H__
22#define __HIVE_PROMOTIONVIEW_H__
23
24
25#include "HIVE_ResultAPI.h"
26
27
28NS_HIVE_BEGIN
29
30
31class ResultAPI;
32
33enum class PromotionType;
34enum class PromotionCustomType;
35enum class PromotionEventType;
36enum class PromotionBadgeTarget;
37enum class PromotionCampaignType;
38enum class PromotionBannerType;
39enum class OfferwallState;
40enum class EngagementEventType;
41enum class EngagementEventState;
42
46//class OfferwallReward;
49class AppInvitationCampaignStage;
51
52
65class HIVESDK_DLLEXPORT Promotion {
66
67public:
68
82 typedef std::function<void(ResultAPI const & result, PromotionEventType promotionEventType)> onPromotionView;
83
84
97 typedef std::function<void(ResultAPI const & result, std::vector<PromotionViewInfo> const & promotionViewInfo)> onPromotionViewInfo;
98
99
112 typedef std::function<void(ResultAPI const & result, std::vector<PromotionBadgeInfo> const & badgeInfoList)> onPromotionBadgeInfo;
113
114
127 typedef std::function<void(ResultAPI const & result, std::vector<PromotionBannerInfo> const & bannerInfoList)> onPromotionBannerInfo;
128
129
142 typedef std::function<void(ResultAPI const & result, AppInvitationData const & appInvitationData)> onAppInvitationData;
143
163 typedef std::function<void(ResultAPI const & result, EngagementEventType engagementEventType, EngagementEventState engagementEventState, picojson::value const & param)> onEngagement;
164 typedef std::function<void(ResultAPI const& result, EngagementEventType engagementEventType, EngagementEventState engagementEventState, std::string const& param)> onEngagementString;
165
174 typedef std::function<void(ResultAPI const & result)> onPromotionUAShare;
175
188 typedef std::function<void(ResultAPI const & result, AppInvitationSenderInfo const & senderInfo)> onAppInvitationSenderInfo;
189
190
215 static void showPromotion(PromotionType promotionType, bool isForced, onPromotionView listener);
216
217
231 static void showCustomContents(PromotionCustomType customType, std::string contentsKey, onPromotionView listener);
232
247 static void showCustomContentsOnGameWindow(PromotionCustomType customType, std::string contentsKey, onPromotionView listener);
248
262
263
278 static void showOfferwall(onPromotionView listener);
279
291 static void showNews(std::string menu, std::vector<int> giftPidList, onPromotionView listener);
292
308 static void showNativeReview(onPromotionView listener);
309
324 static void showReview(onPromotionView listener);
325
326
339 static void showExit(onPromotionView listener);
340
341
353 static void getViewInfo(PromotionCustomType customType, std::string contentsKey, onPromotionViewInfo listener);
354
355
368 static void getBadgeInfo(onPromotionBadgeInfo listener);
369
370
386 static void getBannerInfo(PromotionCampaignType campaignType, PromotionBannerType bannerType, onPromotionBannerInfo listener);
387
388
404 static void getBannerInfoString(std::string campaignString, std::string bannerString, onPromotionBannerInfo listener);
405
406
427
428
445 static void setAdditionalInfo(std::string additionalInfo);
446
447
464 static ResultAPI setEngagementReady(bool isReady);
465
466
479 static bool processURI(std::string URI);
480
488 static void setEngagementHandler(onEngagement engagementHandler);
489 // Unreal CrossPlay Version
490 static void setEngagementHandler(onEngagementString engagementHandler);
491
492
493
507 static void showUAShare(std::string inviteMessage, std::string inviteLink, onPromotionUAShare uaShareHandler);
508
516 static void updatePromotionData();
517
529 static void getAppInvitationSenderInfo(onAppInvitationSenderInfo appInvitationSenderInfoHandler);
530
531 // Native 영역에서 호출된 요청을 처리하기 위한 플러그인 내부 코드
532 static void executeEngine(picojson::value jsonParam);
533
534};
535
536
537
547{
548 BANNERLegacy = -1
549 , BANNER
550 , NEWS
551 , NOTICE
552
553};
554
555
565{
566 VIEW
567 , BOARD
568 , SPOT
569 , DIRECT
570
571};
572
573
583{
584 OPEN
585 , CLOSE
588 , EXIT
589 , GOBACK
590};
591
592
603{
604 NEWS
605 , NOTICE
606 , CUSTOMVIEW
607 , CUSTOMBOARD
608
609};
610
611
620{
621 ENABLED
622
623 , DISABLED
624
625 , UNKNOWN
626
627};
628
635{
637
639 , OFFERWALL_VIEW
640 , USER_ACQUISITION
641 , COUPON
642
644
645 , SOCIAL_INQUIRY_VIEW
646
647 , EVENT
648
649 , IAP_UPDATED
650
651 , IAP_PURCHASE
652 , IAP_PROMOTE
653 , COMPANION
657
658};
659
667{
668 BEGIN
669 , FINISH
670 , EVENT_START
671 , EVENT_END
672};
673
682{
683 EVENT
684 , NOTICE
685 , ALL
686 , CROSS
687};
688
697{
698 GREAT
699 , SMALL
700 , ROLLING
701};
702
703
713class HIVESDK_DLLEXPORT PromotionViewInfo
714{
715public:
716 std::string postString;
717 std::string url;
718
720
721 bool parse(picojson::value jsonParam);
722
723 picojson::object toJson() const;
724
725 std::string toString() const;
726};
727
728
737class HIVESDK_DLLEXPORT PromotionBadgeInfo
738{
739public:
740
747 std::string contentsKey;
748 std::string badgeType;
749
751
752 bool parse(picojson::value jsonParam);
753
754 picojson::object toJson() const;
755
756 std::string toString() const;
757};
758
766class HIVESDK_DLLEXPORT PromotionBannerInfo
767{
768public:
769 int pid;
770 std::string imageUrl;
771 std::string linkUrl;
772 std::string displayStartDate;
773 std::string displayEndDate;
774 long utcStartDate;
775 long utcEndDate;
776 std::string typeLink;
777 std::string typeBanner;
778 std::string typeCampaign;
779
780 std::string interworkData;
781
783
784 bool parse(picojson::value jsonParam);
785
786 picojson::object toJson() const;
787
788 std::string toString() const;
789};
790
791
793// * @brief 보상 지급 요청에 대한 정보 정의<br/>
794// * (showOfferwall() 호출 시, 보상 지급 요청을 보내고 응답을 받은 후, 화면에 wall을 표시해주는 구조임)
795// *
796// * @ingroup Promotion
797// * @author ryuvsken
798// */
799//class HIVESDK_DLLEXPORT OfferwallReward
800//{
801//public:
802// int errorNo;
803// std::string errorMessage;
804// int result;
805// std::string eventID;
806// std::string assetCode;
807// int assetAmount;
808//
809// OfferwallReward();
810//
811// bool parse(picojson::value jsonParam);
812//
813// picojson::object toJson() const;
814//
815// std::string toString() const;
816//};
817
818
830class HIVESDK_DLLEXPORT AppInvitationData
831{
832public:
833 std::vector<char> qrCode;
834 std::string inviteCommonLink;
835 std::string inviteHivemsgLink;
836 std::string inviteFacebookLink;
837 std::vector<AppInvitationCampaign> eachCampaignList;
838 std::vector<AppInvitationCampaignStage> stageCampaignList;
839 std::string inviteMessage;
840
842
843 bool parse(picojson::value jsonParam);
844
845 picojson::object toJson() const;
846
847 std::string toString() const;
848};
849
850
864class HIVESDK_DLLEXPORT AppInvitationCampaign
865{
866public:
867
868 std::string title;
869 std::string description;
870 std::string imageUrl;
871 int order;
872 picojson::value item;
873 std::string itemJsonString;
874 int count;
875 int limit;
876
878
879 virtual ~AppInvitationCampaign(){}
880 virtual bool parse(picojson::value jsonParam);
881
882 picojson::object toJson() const;
883
884 std::string toString() const;
885};
886
887class HIVESDK_DLLEXPORT AppInvitationCampaignStage: public AppInvitationCampaign
888{
889public:
890 int goalCount;
891 int goalTotal;
892
893 AppInvitationCampaignStage();
894
895 bool parse(picojson::value jsonParam) override;
896};
897
909class HIVESDK_DLLEXPORT AppInvitationSenderInfo
910{
911public:
912 std::string vid;
913
915
916 bool parse(picojson::value jsonParam);
917
918 picojson::object toJson() const;
919
920 std::string toString() const;
921};
922
923NS_HIVE_END // namespace hive
924
925// C-Style
926extern "C"
927{
928 HIVESDK_DLLEXPORT const char* PromotionSetEngagementReady(bool isReady);
929 HIVESDK_DLLEXPORT bool PromotionHIVEProcessURI(const char* URI);
930}
931
932
933#endif // __HIVE_PROMOTIONVIEW_H__
934
935
앱 초대를 위한 캠패인 정보 캠페인은 초대에 대한 보상을 달상하기 위한 조건을 명시한 데이터.
Definition: HIVE_Promotion.h:865
int count
초대 인원 중. 캠페인을 완료한 수
Definition: HIVE_Promotion.h:874
int order
캠페인 순서
Definition: HIVE_Promotion.h:871
std::string description
캠페인 설명
Definition: HIVE_Promotion.h:869
picojson::value item
완료 보상 정보 ("key" 는 캠페인 설정에 따라 상이함)
Definition: HIVE_Promotion.h:872
int limit
캠페인 최대 인원 수
Definition: HIVE_Promotion.h:875
std::string itemJsonString
완료 보상 정보 ("key" 는 캠페인 설정에 따라 상이함)
Definition: HIVE_Promotion.h:873
std::string title
캠페인 타이틀
Definition: HIVE_Promotion.h:868
std::string imageUrl
캠페인 이미지 URL
Definition: HIVE_Promotion.h:870
‍**
Definition: HIVE_Promotion.h:831
std::vector< char > qrCode
앱의 초대 정보가 포함된 QR Code 이미지 데이터 \english QR Code image data with app invite information
Definition: HIVE_Promotion.h:833
std::vector< AppInvitationCampaignStage > stageCampaignList
캠페인 완료 목표 초대 수를 달성했을 때 보상을 지급하는 캠페인 목록 \english List of campaigns that will be rewarded when you reac...
Definition: HIVE_Promotion.h:838
std::vector< AppInvitationCampaign > eachCampaignList
캠페인 완료 발생시, 매번 보상을 지급하는 캠페인 목록 \english List of campaigns that will be rewarded every time when a cam...
Definition: HIVE_Promotion.h:837
std::string inviteHivemsgLink
HIVE 인증 사용자용 초대 링크 \english Invite link for HIVE certified users
Definition: HIVE_Promotion.h:835
std::string inviteFacebookLink
Facebook 인증 사용자용 초대 링크 \english Invite link for Facebook certified users
Definition: HIVE_Promotion.h:836
std::string inviteCommonLink
기본 초대 링크 \english Default invite link
Definition: HIVE_Promotion.h:834
UA를 통해 자신을 앱으로 최초 초대한 유저의 정보
Definition: HIVE_Promotion.h:910
유저에게 새로운 프로모션 내용이 등록 되었음을 알려주기 위한 정보
Definition: HIVE_Promotion.h:738
PromotionBadgeTarget target
뱃지를 표시해줘야하는 타겟 예를 들어서 NOTICE 이면 공지사항 관련 뱃지를 표시해야한다 (NEWS, NOTICE, CUSTOMVIEW, CUSTOMBOARD 이 올 수 있다....
Definition: HIVE_Promotion.h:746
std::string contentsKey
target 이 커스텀 컨텐츠일 경우 백오피스에 등록된 프로모션 고유 KEY
Definition: HIVE_Promotion.h:747
std::string badgeType
뱃지 종류 ("new" or "none" 이 올 수 있다)
Definition: HIVE_Promotion.h:748
특정 프로모션에 대한 배너 정보
Definition: HIVE_Promotion.h:767
HIVE 프로모션은 게임을 이용하는 유저에게 게임의 새로운 소식이나 이벤트를 효과적으로 노출하는 기능을 제공한다 프로모션 뷰 (공지, 이벤트), 보상 (쿠폰,...
Definition: HIVE_Promotion.h:65
static void updatePromotionData()
/~korean Promotion 정보 갱신 Promotion 새소식 페이지 등의 노출에 필요한 정보를 갱신한다.
std::function< void(ResultAPI const &result, AppInvitationSenderInfo const &senderInfo)> onAppInvitationSenderInfo
UA를 통해 자신을 앱으로 최초로 초대 성공한 유저의 정보 반환 한다.
Definition: HIVE_Promotion.h:188
std::function< void(ResultAPI const &result)> onPromotionUAShare
HIVE UA 공유 정보 반환
Definition: HIVE_Promotion.h:174
Promotion 컨텐츠 화면 내용 (HIVE 프로모션 웹 뷰의 UI 를 게임 UI 의 컨셉에 맞추기 위해서 프로모션 웹 뷰를 게임에서 직접 표시하기 위한 정보)
Definition: HIVE_Promotion.h:714
Definition: HIVE_ResultAPI.h:63
EngagementEventState
HIVE SDK 가 특정한 조건에서 클라이언트에 개입 (Engagement) 하는 상태
Definition: HIVE_Promotion.h:667
static void setAdditionalInfo(std::string additionalInfo)
프로모션 뷰의 특정 이벤트 페이지를 노출하거나 프로모션 서버에 부가 정보를 전달하고 싶을 때 JSON 포맷의 문자열을 설정할 수 있다
static void getAppInvitationData(onAppInvitationData listener)
앱 초대를 위한 데이터 조회 게임에서 더 많은 사용자를 유치하기 위해서 앱 설치 유도 기능을 제공한다.
static OfferwallState getOfferwallState()
게임내에서 무료 충전소를 노출하기 위한 버튼 UI 는 보여지거나 숨길 수 있도록 구성해야 한다.
EngagementEventType
UserEngagement 기능 타입
Definition: HIVE_Promotion.h:635
static void showPromotion(PromotionType promotionType, bool isForced, onPromotionView listener)
게임의 새로운 이벤트나 새로운 게임 소개등의 배너 화면을 노출
static void showReview(onPromotionView listener)
리뷰 유도 팝업 노출 게임 유저들의 긍정적인 평점 및 사용 후기는 다른 유저들이 게임을 이용하는데 영향을 미치게 된다.
std::function< void(ResultAPI const &result, std::vector< PromotionViewInfo > const &promotionViewInfo)> onPromotionViewInfo
HIVE 프로모션 웹 뷰의 UI 를 게임 UI 의 컨셉에 맞추기 위해서 프로모션 웹 뷰를 게임에서 직접 구현하기 위한 데이터 반환
Definition: HIVE_Promotion.h:97
PromotionBannerType
롤링 배너 데이터 요청시 선택한 배너 타입
Definition: HIVE_Promotion.h:697
PromotionCustomType
커스텀 컨텐츠의 형태
Definition: HIVE_Promotion.h:565
std::function< void(ResultAPI const &result, PromotionEventType promotionEventType)> onPromotionView
프로모션 뷰 API 결과 통지
Definition: HIVE_Promotion.h:82
static void getBannerInfo(PromotionCampaignType campaignType, PromotionBannerType bannerType, onPromotionBannerInfo listener)
배너 정보 조회 특정 프로모션에 대한 배너 정보를 요청한다.
PromotionCampaignType
롤링 배너 데이터 요청시 선택한 캠페인 타입
Definition: HIVE_Promotion.h:682
OfferwallState
게임내 오퍼월(무료 충전소) 을 호출 할 수 있는 버튼 노출 가능 상태 정보
Definition: HIVE_Promotion.h:620
static void showNativeReview(onPromotionView listener)
리뷰 유도 팝업 노출 게임 유저들의 긍정적인 평점 및 사용 후기는 다른 유저들이 게임을 이용하는데 영향을 미치게 된다.
static void showUAShare(std::string inviteMessage, std::string inviteLink, onPromotionUAShare uaShareHandler)
외부 SNS를 통해 UA url을 공유하기 위한 다이얼로그 노출
static void showCustomContentsOnGameWindow(PromotionCustomType customType, std::string contentsKey, onPromotionView listener)
외부 컨텐츠를 사용하기 위해서 커스텀 웹 뷰 노출 (GameWindow)
std::function< void(ResultAPI const &result, std::vector< PromotionBannerInfo > const &bannerInfoList)> onPromotionBannerInfo
프로모션 배너 정보 API 호출에 대한 결과 통지
Definition: HIVE_Promotion.h:127
static void getAppInvitationSenderInfo(onAppInvitationSenderInfo appInvitationSenderInfoHandler)
UA를 통해 자신을 앱으로 최초 초대한 유저의 정보 반환 한다.
static void getBannerInfoString(std::string campaignString, std::string bannerString, onPromotionBannerInfo listener)
배너 정보 조회 특정 프로모션에 대한 배너 정보를 요청한다.
static bool processURI(std::string URI)
URI를 파싱하여 Event 타입으로 만든다.
PromotionType
프로모션 뷰 창의 형태
Definition: HIVE_Promotion.h:547
static void showExit(onPromotionView listener)
종료 확인 팝업 노출 (Android only.) 이용 중인 게임을 종료 하려는 유저에게 새로운 HIVE 게임의 다운로드를 유도하기 위해 '더 많은 게임'이란 버튼을 노출한다
std::function< void(ResultAPI const &result, AppInvitationData const &appInvitationData)> onAppInvitationData
앱 초대 (UserAcquisition) 정보 요청에 대한 정보 반환
Definition: HIVE_Promotion.h:142
static void showCustomContents(PromotionCustomType customType, std::string contentsKey, onPromotionView listener)
외부 컨텐츠를 사용하기 위해서 커스텀 웹 뷰 노출
static void getBadgeInfo(onPromotionBadgeInfo listener)
뱃지 정보 조회 프로모션 뱃지는 유저에게 새로운 프로모션 내용이 등록 되었음을 알려주기 위해서 게임의 버튼 UI 를 부각하는 정보이다
static void showNews(std::string menu, std::vector< int > giftPidList, onPromotionView listener)
게임의 새로운 이벤트나 새로운 게임 소개등의 새소식 화면을 노출
static void showOfferwall(onPromotionView listener)
무료 충전소 화면 노출 (Android only.) 무료 충전소는 HIVE 게임 간의 광고 네트워크로 기존 HIVE 유저들이 새로운 HIVE 게임을 이용할 수 있도록 유도하는 기능...
std::function< void(ResultAPI const &result, std::vector< PromotionBadgeInfo > const &badgeInfoList)> onPromotionBadgeInfo
HIVE 프로모션 뱃지 정보 반환
Definition: HIVE_Promotion.h:112
static ResultAPI setEngagementReady(bool isReady)
Engagement 이벤트 처리가 가능한지(게임 서버에 DB가 생성된 경우 등) 여부를 설정한다.
PromotionEventType
프로모션 뷰 결과 통지시 이벤트 형태
Definition: HIVE_Promotion.h:583
static void getViewInfo(PromotionCustomType customType, std::string contentsKey, onPromotionViewInfo listener)
HIVE 프로모션 웹 뷰의 UI 를 게임 UI 의 컨셉에 맞추기 위해서 프로모션 웹 뷰를 게임에서 직접 구현 할 수 있다 이 메서드는 게임에서 HIVE 프로모션 웹 뷰를 커스터 마...
PromotionBadgeTarget
프로모션 뱃지 정보가 표시될 대상 정보 만약 NOTICE 이면 공지사항 관련 뱃지를 표시해야한다
Definition: HIVE_Promotion.h:603
std::function< void(ResultAPI const &result, EngagementEventType engagementEventType, EngagementEventState engagementEventState, picojson::value const &param)> onEngagement
SDK 가 특정한 조건에서 클라이언트에 개입 (Engagement) 하기 위한 이벤트 리스너.
Definition: HIVE_Promotion.h:163
static void setEngagementHandler(onEngagement engagementHandler)
Engagement 리스너를 등록한다.
@ BEGIN
Engagement에 의해 최초 기능이 수행되기 시작함을 알림.
@ EVENT_START
Engagement에 의해 특정 기능이 수행되기 시작함을 알림.
@ FINISH
Engagement에 의한 모든 기능 수행이 종료됨을 알림.
@ EVENT_END
Engagement에 의한 특정 기능 수행이 종료됨을 알림.
@ EVENT
kHIVEEngagementEventTypeEvent Engagement에 의해 처리될 수 없는 이벤트(host가 game인 경우)를 전달해주는 콜백.
@ SOCIAL_PROFILE_VIEW
프로필 페이지 오픈
@ IAP_UPDATED
Deprecated in HIVE SDK 4.5.0
@ COUPON
kHIVEEngagementEventTypeCoupon Engagement에 의해 처리된 쿠폰 소모에 대한 결과. EventState가 kHIVEEngagementStateEvent...
@ SOCIAL_MYINQUIRY_VIEW
내 문의 내역을 오픈
@ IAP_PROMOTE
kHIVEEngagementEventTypeIapPromote 앱이 시작 혹은 실행 중일 때, 앱 외에서 상품을 구매시도시 불리게 되는 콜백. 해당 콜백이 불리면 게임에서는 아이템...
@ EVENT_TYPE
< kHIVEEngagementEventType Engagement의 전체 시작과 끝을 알리는 경우. (이름 변경 예정)
@ PROMOTION_VIEW
kHIVEEngagementEventTypePromotionView Engagement에 의해 처리되는 PromotionView인 경우. EventState가 kHIVEEngagem...
@ AUTH_LOGIN_VIEW
kHIVEEngagementEventTypeAuthLogin 유저(클라이언트)에 의해 열리지 않은 로그인 프로세스에 의한 결과를 받는 콜백.
@ COMPANION
Promotion CPA Link recevied. SDK Will be send promotion companion.
@ COMMUNITY_VIEW
커뮤니티 페이지를 오픈. Open the community page.
@ IAP_PURCHASE
kHIVEEngagementEventTypeIapPurchase 앱이 시작 혹은 실행 중일 때, 앱 외에서 상품을 구매시도시 불리게 되는 콜백. 해당 콜백이 불리면 구매 팝업이 노...
@ DIRECT
다이렉트 캠페인
@ VIEW
커스텀 뷰
@ SPOT
스팟 배너
@ BOARD
커스텀 보드
@ DISABLED
게임내 무료 충전 버튼 노출 불가능
@ UNKNOWN
버튼 노출 가능 상태를 알 수 없음
@ ENABLED
게임내 무료 충전 버튼 노출 가능
@ BANNER
전면배너
@ BANNERLegacy
전면배너 (웹뷰만 사용하는 구 버전)
@ NOTICE
공지사항
@ NEWS
새소식
@ FINISH_PLAYBACK
영상 재생이 완료되었을 때
@ CLOSE
프로모션 뷰가 닫혔을 때
@ OPEN
프로모션 뷰가 열렸을 때
@ EXIT
종료(더 많은 게임 보기) 팝업에서 종료하기를 선택했을 때
@ START_PLAYBACK
영상 재생이 시작되었을 때
Copyright © Com2uS Platform Corporation. All Right Reserved. 이용약관 개인정보 처리방침