@hayanmind/monetai-react-native 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/MonetaiProvider.js +45 -23
- package/lib/commonjs/MonetaiProvider.js.map +1 -1
- package/lib/commonjs/PaywallManager.js +63 -0
- package/lib/commonjs/PaywallManager.js.map +1 -0
- package/lib/commonjs/components/Banner.js +141 -0
- package/lib/commonjs/components/Banner.js.map +1 -0
- package/lib/commonjs/components/Paywall.js +236 -0
- package/lib/commonjs/components/Paywall.js.map +1 -0
- package/lib/commonjs/components/paywall-wrappers/CompactPaywallWrapper.js +61 -0
- package/lib/commonjs/components/paywall-wrappers/CompactPaywallWrapper.js.map +1 -0
- package/lib/commonjs/components/paywall-wrappers/HighlightBenefitsPaywallWrapper.js +33 -0
- package/lib/commonjs/components/paywall-wrappers/HighlightBenefitsPaywallWrapper.js.map +1 -0
- package/lib/commonjs/components/paywall-wrappers/KeyFeatureSummaryPaywallWrapper.js +33 -0
- package/lib/commonjs/components/paywall-wrappers/KeyFeatureSummaryPaywallWrapper.js.map +1 -0
- package/lib/commonjs/components/paywall-wrappers/TextFocusedPaywallWrapper.js +33 -0
- package/lib/commonjs/components/paywall-wrappers/TextFocusedPaywallWrapper.js.map +1 -0
- package/lib/commonjs/components/paywall-wrappers/index.js +41 -0
- package/lib/commonjs/components/paywall-wrappers/index.js.map +1 -0
- package/lib/commonjs/constants/paywall.js +11 -0
- package/lib/commonjs/constants/paywall.js.map +1 -0
- package/lib/commonjs/hooks/useBanner.js +84 -0
- package/lib/commonjs/hooks/useBanner.js.map +1 -0
- package/lib/commonjs/hooks/useInterval.js +34 -0
- package/lib/commonjs/hooks/useInterval.js.map +1 -0
- package/lib/commonjs/hooks/usePaywall.js +60 -0
- package/lib/commonjs/hooks/usePaywall.js.map +1 -0
- package/lib/commonjs/index.js +54 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/lib.js +2 -2
- package/lib/module/MonetaiProvider.js +48 -25
- package/lib/module/MonetaiProvider.js.map +1 -1
- package/lib/module/PaywallManager.js +58 -0
- package/lib/module/PaywallManager.js.map +1 -0
- package/lib/module/components/Banner.js +136 -0
- package/lib/module/components/Banner.js.map +1 -0
- package/lib/module/components/Paywall.js +230 -0
- package/lib/module/components/Paywall.js.map +1 -0
- package/lib/module/components/paywall-wrappers/CompactPaywallWrapper.js +55 -0
- package/lib/module/components/paywall-wrappers/CompactPaywallWrapper.js.map +1 -0
- package/lib/module/components/paywall-wrappers/HighlightBenefitsPaywallWrapper.js +27 -0
- package/lib/module/components/paywall-wrappers/HighlightBenefitsPaywallWrapper.js.map +1 -0
- package/lib/module/components/paywall-wrappers/KeyFeatureSummaryPaywallWrapper.js +27 -0
- package/lib/module/components/paywall-wrappers/KeyFeatureSummaryPaywallWrapper.js.map +1 -0
- package/lib/module/components/paywall-wrappers/TextFocusedPaywallWrapper.js +27 -0
- package/lib/module/components/paywall-wrappers/TextFocusedPaywallWrapper.js.map +1 -0
- package/lib/module/components/paywall-wrappers/index.js +11 -0
- package/lib/module/components/paywall-wrappers/index.js.map +1 -0
- package/lib/module/constants/paywall.js +7 -0
- package/lib/module/constants/paywall.js.map +1 -0
- package/lib/module/hooks/useBanner.js +79 -0
- package/lib/module/hooks/useBanner.js.map +1 -0
- package/lib/module/hooks/useInterval.js +30 -0
- package/lib/module/hooks/useInterval.js.map +1 -0
- package/lib/module/hooks/usePaywall.js +55 -0
- package/lib/module/hooks/usePaywall.js.map +1 -0
- package/lib/module/index.js +8 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/lib.js +2 -2
- package/lib/typescript/commonjs/src/MonetaiProvider.d.ts +3 -7
- package/lib/typescript/commonjs/src/MonetaiProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/PaywallManager.d.ts +7 -0
- package/lib/typescript/commonjs/src/PaywallManager.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/Banner.d.ts +10 -0
- package/lib/typescript/commonjs/src/components/Banner.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/Paywall.d.ts +14 -0
- package/lib/typescript/commonjs/src/components/Paywall.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/paywall-wrappers/CompactPaywallWrapper.d.ts +8 -0
- package/lib/typescript/commonjs/src/components/paywall-wrappers/CompactPaywallWrapper.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/paywall-wrappers/HighlightBenefitsPaywallWrapper.d.ts +8 -0
- package/lib/typescript/commonjs/src/components/paywall-wrappers/HighlightBenefitsPaywallWrapper.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/paywall-wrappers/KeyFeatureSummaryPaywallWrapper.d.ts +8 -0
- package/lib/typescript/commonjs/src/components/paywall-wrappers/KeyFeatureSummaryPaywallWrapper.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/paywall-wrappers/TextFocusedPaywallWrapper.d.ts +8 -0
- package/lib/typescript/commonjs/src/components/paywall-wrappers/TextFocusedPaywallWrapper.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/paywall-wrappers/index.d.ts +6 -0
- package/lib/typescript/commonjs/src/components/paywall-wrappers/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/constants/paywall.d.ts +3 -0
- package/lib/typescript/commonjs/src/constants/paywall.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/hooks/useBanner.d.ts +14 -0
- package/lib/typescript/commonjs/src/hooks/useBanner.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/hooks/useInterval.d.ts +7 -0
- package/lib/typescript/commonjs/src/hooks/useInterval.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/hooks/usePaywall.d.ts +15 -0
- package/lib/typescript/commonjs/src/hooks/usePaywall.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +7 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types.d.ts +48 -2
- package/lib/typescript/commonjs/src/types.d.ts.map +1 -1
- package/lib/typescript/module/src/MonetaiProvider.d.ts +3 -7
- package/lib/typescript/module/src/MonetaiProvider.d.ts.map +1 -1
- package/lib/typescript/module/src/PaywallManager.d.ts +7 -0
- package/lib/typescript/module/src/PaywallManager.d.ts.map +1 -0
- package/lib/typescript/module/src/components/Banner.d.ts +10 -0
- package/lib/typescript/module/src/components/Banner.d.ts.map +1 -0
- package/lib/typescript/module/src/components/Paywall.d.ts +14 -0
- package/lib/typescript/module/src/components/Paywall.d.ts.map +1 -0
- package/lib/typescript/module/src/components/paywall-wrappers/CompactPaywallWrapper.d.ts +8 -0
- package/lib/typescript/module/src/components/paywall-wrappers/CompactPaywallWrapper.d.ts.map +1 -0
- package/lib/typescript/module/src/components/paywall-wrappers/HighlightBenefitsPaywallWrapper.d.ts +8 -0
- package/lib/typescript/module/src/components/paywall-wrappers/HighlightBenefitsPaywallWrapper.d.ts.map +1 -0
- package/lib/typescript/module/src/components/paywall-wrappers/KeyFeatureSummaryPaywallWrapper.d.ts +8 -0
- package/lib/typescript/module/src/components/paywall-wrappers/KeyFeatureSummaryPaywallWrapper.d.ts.map +1 -0
- package/lib/typescript/module/src/components/paywall-wrappers/TextFocusedPaywallWrapper.d.ts +8 -0
- package/lib/typescript/module/src/components/paywall-wrappers/TextFocusedPaywallWrapper.d.ts.map +1 -0
- package/lib/typescript/module/src/components/paywall-wrappers/index.d.ts +6 -0
- package/lib/typescript/module/src/components/paywall-wrappers/index.d.ts.map +1 -0
- package/lib/typescript/module/src/constants/paywall.d.ts +3 -0
- package/lib/typescript/module/src/constants/paywall.d.ts.map +1 -0
- package/lib/typescript/module/src/hooks/useBanner.d.ts +14 -0
- package/lib/typescript/module/src/hooks/useBanner.d.ts.map +1 -0
- package/lib/typescript/module/src/hooks/useInterval.d.ts +7 -0
- package/lib/typescript/module/src/hooks/useInterval.d.ts.map +1 -0
- package/lib/typescript/module/src/hooks/usePaywall.d.ts +15 -0
- package/lib/typescript/module/src/hooks/usePaywall.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +7 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/types.d.ts +48 -2
- package/lib/typescript/module/src/types.d.ts.map +1 -1
- package/package.json +4 -2
- package/src/MonetaiProvider.tsx +72 -29
- package/src/PaywallManager.tsx +61 -0
- package/src/components/Banner.tsx +152 -0
- package/src/components/Paywall.tsx +254 -0
- package/src/components/paywall-wrappers/CompactPaywallWrapper.tsx +58 -0
- package/src/components/paywall-wrappers/HighlightBenefitsPaywallWrapper.tsx +30 -0
- package/src/components/paywall-wrappers/KeyFeatureSummaryPaywallWrapper.tsx +30 -0
- package/src/components/paywall-wrappers/TextFocusedPaywallWrapper.tsx +30 -0
- package/src/components/paywall-wrappers/index.ts +8 -0
- package/src/constants/paywall.ts +4 -0
- package/src/hooks/useBanner.ts +112 -0
- package/src/hooks/useInterval.ts +29 -0
- package/src/hooks/usePaywall.ts +73 -0
- package/src/index.tsx +36 -1
- package/src/types.ts +65 -2
package/src/types.ts
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
export type ABTestGroup = 'baseline' | 'monetai' | 'unknown';
|
|
2
2
|
export type PredictResult = 'non-purchaser' | 'purchaser' | null;
|
|
3
3
|
|
|
4
|
+
// Banner and Paywall style types
|
|
5
|
+
export type PaywallStyle =
|
|
6
|
+
| 'compact'
|
|
7
|
+
| 'highlight-benefits'
|
|
8
|
+
| 'key-feature-summary'
|
|
9
|
+
| 'text-focused';
|
|
10
|
+
|
|
11
|
+
// Feature type for paywall
|
|
12
|
+
export interface Feature {
|
|
13
|
+
title: string;
|
|
14
|
+
description: string;
|
|
15
|
+
isPremiumOnly?: boolean; // highlight-benefits 스타일에서만 사용
|
|
16
|
+
}
|
|
17
|
+
|
|
4
18
|
export interface EventParams {
|
|
5
19
|
[key: string]: any;
|
|
6
20
|
}
|
|
@@ -19,9 +33,58 @@ export interface DiscountInfo {
|
|
|
19
33
|
|
|
20
34
|
export interface AppUserDiscountResponse {
|
|
21
35
|
id: number;
|
|
22
|
-
started_at:
|
|
23
|
-
ended_at:
|
|
36
|
+
started_at: string; // API에서 문자열로 오므로 string으로 변경
|
|
37
|
+
ended_at: string; // API에서 문자열로 오므로 string으로 변경
|
|
24
38
|
app_user_id: string;
|
|
25
39
|
sdk_key: string;
|
|
26
40
|
created_at: Date;
|
|
27
41
|
}
|
|
42
|
+
|
|
43
|
+
// Unified configuration for both banner and paywall
|
|
44
|
+
export interface PaywallConfig {
|
|
45
|
+
enabled: boolean; // 자동 배너 표시 활성화 여부
|
|
46
|
+
isSubscriber: boolean; // 구독자 여부 (true면 배너 표시 안함)
|
|
47
|
+
locale: string; // 언어 설정 (필수)
|
|
48
|
+
discountPercent: number; // 할인율 (필수, 0-100)
|
|
49
|
+
style: PaywallStyle; // 스타일 (기본값: 'text-focused')
|
|
50
|
+
bannerBottom?: number; // 플로팅 배너의 하단에서부터의 거리 (기본값: 20)
|
|
51
|
+
// z-order controls per surface
|
|
52
|
+
bannerZIndex?: number;
|
|
53
|
+
bannerElevation?: number;
|
|
54
|
+
paywallZIndex?: number;
|
|
55
|
+
paywallElevation?: number;
|
|
56
|
+
regularPrice: string; // 정가 (고객사 설정)
|
|
57
|
+
discountedPrice: string; // 할인된 가격 (고객사 설정)
|
|
58
|
+
features?: Feature[]; // 기능 목록 (highlight-benefits, key-feature-summary 스타일에서만 사용)
|
|
59
|
+
|
|
60
|
+
// Callback functions
|
|
61
|
+
onPurchase?: (closePaywall: () => void) => void; // 구매 버튼 클릭 콜백
|
|
62
|
+
onTermsOfService?: () => void; // 이용약관 클릭 콜백
|
|
63
|
+
onPrivacyPolicy?: () => void; // 개인정보처리방침 클릭 콜백
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface PaywallParams {
|
|
67
|
+
discountPercent: string;
|
|
68
|
+
endedAt: string; // SDK 내부에서 처리
|
|
69
|
+
regularPrice: string;
|
|
70
|
+
discountedPrice: string;
|
|
71
|
+
locale: string;
|
|
72
|
+
style: PaywallStyle; // paywall 스타일
|
|
73
|
+
features?: Feature[]; // Feature[] 타입으로 변경
|
|
74
|
+
// Optional z-order controls
|
|
75
|
+
zIndex?: number;
|
|
76
|
+
elevation?: number;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export interface BannerParams {
|
|
80
|
+
enabled: boolean;
|
|
81
|
+
isSubscriber: boolean; // 구독자 여부
|
|
82
|
+
locale: string;
|
|
83
|
+
discountPercent: number;
|
|
84
|
+
endedAt: Date;
|
|
85
|
+
style: PaywallStyle;
|
|
86
|
+
bottom?: number;
|
|
87
|
+
// Optional z-order controls
|
|
88
|
+
zIndex?: number;
|
|
89
|
+
elevation?: number;
|
|
90
|
+
}
|