@tryheliumai/paywall-sdk-react-native 0.2.22 → 3.0.3
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/PaywallSdkReactNative.podspec +2 -2
- package/ios/HeliumSwiftInterface.swift +90 -76
- package/ios/RCTHeliumBridge.m +1 -0
- package/lib/commonjs/handlers/revenuecat.js +1 -1
- package/lib/commonjs/handlers/revenuecat.js.map +1 -1
- package/lib/commonjs/index.js +0 -18
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/native-interface.js +81 -165
- package/lib/commonjs/native-interface.js.map +1 -1
- package/lib/commonjs/types.js +4 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/handlers/revenuecat.js +1 -1
- package/lib/module/handlers/revenuecat.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/native-interface.js +81 -161
- package/lib/module/native-interface.js.map +1 -1
- package/lib/module/types.js +4 -0
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/commonjs/src/handlers/revenuecat.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +2 -2
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/native-interface.d.ts +2 -21
- package/lib/typescript/commonjs/src/native-interface.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types.d.ts +102 -3
- package/lib/typescript/commonjs/src/types.d.ts.map +1 -1
- package/lib/typescript/module/src/handlers/revenuecat.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +2 -2
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/native-interface.d.ts +2 -21
- package/lib/typescript/module/src/native-interface.d.ts.map +1 -1
- package/lib/typescript/module/src/types.d.ts +102 -3
- package/lib/typescript/module/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/handlers/revenuecat.ts +0 -1
- package/src/index.ts +9 -3
- package/src/native-interface.tsx +105 -172
- package/src/types.ts +142 -5
|
@@ -15,16 +15,115 @@ export declare function createCustomPurchaseConfig(callbacks: {
|
|
|
15
15
|
makePurchase: (productId: string) => Promise<HeliumPurchaseResult>;
|
|
16
16
|
restorePurchases: () => Promise<boolean>;
|
|
17
17
|
}): HeliumPurchaseConfig;
|
|
18
|
+
export type TriggerLoadingConfig = {
|
|
19
|
+
/** Whether to show loading state for this trigger. Set to nil to use the global `useLoadingState` setting. */
|
|
20
|
+
useLoadingState?: boolean;
|
|
21
|
+
/** Maximum seconds to show loading for this trigger. Set to nil to use the global `loadingBudget` setting. */
|
|
22
|
+
loadingBudget?: number;
|
|
23
|
+
};
|
|
24
|
+
export type HeliumPaywallLoadingConfig = {
|
|
25
|
+
/**
|
|
26
|
+
* Whether to show a loading state while fetching paywall configuration.
|
|
27
|
+
* When true, shows a loading view for up to `loadingBudget` seconds before falling back.
|
|
28
|
+
* Default: true
|
|
29
|
+
*/
|
|
30
|
+
useLoadingState?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Maximum time (in seconds) to show the loading state before displaying fallback.
|
|
33
|
+
* After this timeout, the fallback view will be shown even if the paywall is still downloading.
|
|
34
|
+
* Default: 2.0 seconds
|
|
35
|
+
*/
|
|
36
|
+
loadingBudget?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Optional per-trigger loading configuration overrides.
|
|
39
|
+
* Use this to customize loading behavior for specific triggers.
|
|
40
|
+
* Keys are trigger names, values are TriggerLoadingConfig instances.
|
|
41
|
+
* Example: Disable loading for "onboarding" trigger while keeping it for others.
|
|
42
|
+
*/
|
|
43
|
+
perTriggerLoadingConfig?: Record<string, TriggerLoadingConfig>;
|
|
44
|
+
};
|
|
45
|
+
export interface PaywallEventHandlers {
|
|
46
|
+
onOpen?: (event: PaywallOpenEvent) => void;
|
|
47
|
+
onClose?: (event: PaywallCloseEvent) => void;
|
|
48
|
+
onDismissed?: (event: PaywallDismissedEvent) => void;
|
|
49
|
+
onPurchaseSucceeded?: (event: PurchaseSucceededEvent) => void;
|
|
50
|
+
}
|
|
51
|
+
export interface PaywallOpenEvent {
|
|
52
|
+
type: 'paywallOpen';
|
|
53
|
+
triggerName: string;
|
|
54
|
+
paywallName: string;
|
|
55
|
+
isSecondTry: boolean;
|
|
56
|
+
viewType?: 'presented' | 'embedded' | 'triggered';
|
|
57
|
+
}
|
|
58
|
+
export interface PaywallCloseEvent {
|
|
59
|
+
type: 'paywallClose';
|
|
60
|
+
triggerName: string;
|
|
61
|
+
paywallName: string;
|
|
62
|
+
isSecondTry: boolean;
|
|
63
|
+
}
|
|
64
|
+
export interface PaywallDismissedEvent {
|
|
65
|
+
type: 'paywallDismissed';
|
|
66
|
+
triggerName: string;
|
|
67
|
+
paywallName: string;
|
|
68
|
+
isSecondTry: boolean;
|
|
69
|
+
}
|
|
70
|
+
export interface PurchaseSucceededEvent {
|
|
71
|
+
type: 'purchaseSucceeded';
|
|
72
|
+
productId: string;
|
|
73
|
+
triggerName: string;
|
|
74
|
+
paywallName: string;
|
|
75
|
+
isSecondTry: boolean;
|
|
76
|
+
}
|
|
77
|
+
export type HeliumPaywallEvent = {
|
|
78
|
+
type: 'paywallOpen' | 'paywallClose' | 'paywallDismissed' | 'paywallOpenFailed' | 'paywallSkipped' | 'paywallButtonPressed' | 'productSelected' | 'purchasePressed' | 'purchaseSucceeded' | 'purchaseCancelled' | 'purchaseFailed' | 'purchaseRestored' | 'purchaseRestoreFailed' | 'purchasePending' | 'initializeStart' | 'paywallsDownloadSuccess' | 'paywallsDownloadError' | 'paywallWebViewRendered';
|
|
79
|
+
triggerName?: string;
|
|
80
|
+
paywallName?: string;
|
|
81
|
+
/**
|
|
82
|
+
* @deprecated Use `paywallName` instead.
|
|
83
|
+
*/
|
|
84
|
+
paywallTemplateName?: string;
|
|
85
|
+
productId?: string;
|
|
86
|
+
/**
|
|
87
|
+
* @deprecated Use `productId` instead.
|
|
88
|
+
*/
|
|
89
|
+
productKey?: string;
|
|
90
|
+
ctaName?: string;
|
|
91
|
+
paywallDownloadTimeTakenMS?: number;
|
|
92
|
+
templateDownloadTimeTakenMS?: number;
|
|
93
|
+
imagesDownloadTimeTakenMS?: number;
|
|
94
|
+
stylesDownloadTimeTakenMS?: number;
|
|
95
|
+
fontsDownloadTimeTakenMS?: number;
|
|
96
|
+
bundleDownloadTimeMS?: number;
|
|
97
|
+
dismissAll?: boolean;
|
|
98
|
+
isSecondTry?: boolean;
|
|
99
|
+
error?: string;
|
|
100
|
+
/**
|
|
101
|
+
* @deprecated Use `error` instead.
|
|
102
|
+
*/
|
|
103
|
+
errorDescription?: string;
|
|
104
|
+
/**
|
|
105
|
+
* Unix timestamp in seconds
|
|
106
|
+
*/
|
|
107
|
+
timestamp?: number;
|
|
108
|
+
};
|
|
109
|
+
export type PresentUpsellParams = {
|
|
110
|
+
triggerName: string;
|
|
111
|
+
/** Optional. This will be called when paywall fails to show due to an unsuccessful paywall download or if an invalid trigger is provided. */
|
|
112
|
+
onFallback?: () => void;
|
|
113
|
+
eventHandlers?: PaywallEventHandlers;
|
|
114
|
+
customPaywallTraits?: Record<string, any>;
|
|
115
|
+
};
|
|
18
116
|
export interface HeliumConfig {
|
|
19
117
|
/** Your Helium API Key */
|
|
20
118
|
apiKey: string;
|
|
21
119
|
/** Configuration for handling purchases. Can be custom functions or a pre-built handler config. */
|
|
22
120
|
purchaseConfig: HeliumPurchaseConfig;
|
|
23
121
|
/** Callback for receiving all Helium paywall events. */
|
|
24
|
-
onHeliumPaywallEvent: (event:
|
|
25
|
-
|
|
122
|
+
onHeliumPaywallEvent: (event: HeliumPaywallEvent) => void;
|
|
123
|
+
/** Fallback bundle in the rare situation that paywall is not ready to be shown. Highly recommended. See docs at https://docs.tryhelium.com/guides/fallback-bundle#react-native */
|
|
26
124
|
fallbackBundle?: object;
|
|
27
|
-
|
|
125
|
+
/** Configure loading behavior for paywalls that are mid-download. */
|
|
126
|
+
paywallLoadingConfig?: HeliumPaywallLoadingConfig;
|
|
28
127
|
customUserId?: string;
|
|
29
128
|
customAPIEndpoint?: string;
|
|
30
129
|
customUserTraits?: Record<string, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revenuecat.d.ts","sourceRoot":"","sources":["../../../../../src/handlers/revenuecat.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAU3E,wBAAgB,8BAA8B,CAAC,MAAM,CAAC,EAAE;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,oBAAoB,CAOvB;AAED,qBAAa,uBAAuB;IAChC,OAAO,CAAC,yBAAyB,CAAwC;IACzE,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,qBAAqB,CAA8B;IAE3D,OAAO,CAAC,yBAAyB,CAA6C;gBAElE,MAAM,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"revenuecat.d.ts","sourceRoot":"","sources":["../../../../../src/handlers/revenuecat.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAU3E,wBAAgB,8BAA8B,CAAC,MAAM,CAAC,EAAE;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,oBAAoB,CAOvB;AAED,qBAAa,uBAAuB;IAChC,OAAO,CAAC,yBAAyB,CAAwC;IACzE,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,qBAAqB,CAA8B;IAE3D,OAAO,CAAC,yBAAyB,CAA6C;gBAElE,MAAM,CAAC,EAAE,MAAM;YAOb,wBAAwB;YAyBxB,wBAAwB;IAQhC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+EpE,OAAO,CAAC,eAAe;IAMjB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;CAS7C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { createCustomPurchaseConfig } from './types';
|
|
2
|
-
export {
|
|
3
|
-
export type { HeliumTransactionStatus, HeliumConfig, HeliumUpsellViewProps, } from './types';
|
|
2
|
+
export { initialize, presentUpsell, hideUpsell, hideAllUpsells, getPaywallInfo, handleDeepLink, HELIUM_CTA_NAMES, NativeHeliumUpsellView, } from './native-interface';
|
|
3
|
+
export type { HeliumTransactionStatus, HeliumConfig, HeliumUpsellViewProps, HeliumPaywallLoadingConfig, TriggerLoadingConfig, PaywallEventHandlers, PaywallOpenEvent, PaywallCloseEvent, PaywallDismissedEvent, PurchaseSucceededEvent, HeliumPaywallEvent, PresentUpsellParams, } from './types';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,EACL,UAAU,EACV,aAAa,EACb,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,uBAAuB,EACvB,YAAY,EACZ,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
|
|
@@ -1,33 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { HeliumConfig, HeliumUpsellViewProps, HeliumDownloadStatus, PaywallInfo } from './types';
|
|
1
|
+
import type { HeliumConfig, HeliumUpsellViewProps, HeliumDownloadStatus, PaywallInfo, PresentUpsellParams } from './types';
|
|
3
2
|
export declare const NativeHeliumUpsellView: import("react-native").HostComponent<HeliumUpsellViewProps>;
|
|
4
3
|
export declare const getDownloadStatus: () => HeliumDownloadStatus;
|
|
5
|
-
interface HeliumContextType {
|
|
6
|
-
downloadStatus: HeliumDownloadStatus;
|
|
7
|
-
setDownloadStatus: (status: HeliumDownloadStatus) => void;
|
|
8
|
-
}
|
|
9
|
-
export declare const useHelium: () => HeliumContextType;
|
|
10
|
-
interface HeliumProviderProps {
|
|
11
|
-
children: React.ReactNode;
|
|
12
|
-
fallbackView?: React.ComponentType;
|
|
13
|
-
}
|
|
14
|
-
export declare const HeliumProvider: ({ children, fallbackView }: HeliumProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
4
|
export declare const initialize: (config: HeliumConfig) => Promise<void>;
|
|
16
|
-
export declare const presentUpsell: ({ triggerName, onFallback, }:
|
|
17
|
-
triggerName: string;
|
|
18
|
-
onFallback?: () => void;
|
|
19
|
-
}) => void;
|
|
5
|
+
export declare const presentUpsell: ({ triggerName, onFallback, eventHandlers, customPaywallTraits, }: PresentUpsellParams) => void;
|
|
20
6
|
export declare const hideUpsell: () => void;
|
|
21
7
|
export declare const hideAllUpsells: () => void;
|
|
22
8
|
export declare const getPaywallInfo: (trigger: string) => Promise<PaywallInfo | undefined>;
|
|
23
9
|
export declare const handleDeepLink: (url: string | null) => Promise<boolean>;
|
|
24
|
-
export declare const UpsellView: React.FC<HeliumUpsellViewProps & {
|
|
25
|
-
fallbackViewProps?: Record<string, any>;
|
|
26
|
-
fallbackViewWrapperStyles?: Record<string, any>;
|
|
27
|
-
}>;
|
|
28
10
|
export declare const HELIUM_CTA_NAMES: {
|
|
29
11
|
SCHEDULE_CALL: string;
|
|
30
12
|
SUBSCRIBE_BUTTON: string;
|
|
31
13
|
};
|
|
32
|
-
export {};
|
|
33
14
|
//# sourceMappingURL=native-interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EAGpB,MAAM,SAAS,CAAC;AAMjB,eAAO,MAAM,sBAAsB,6DACgC,CAAC;AAMpE,eAAO,MAAM,iBAAiB,4BAA6B,CAAC;AAM5D,eAAO,MAAM,UAAU,WAAkB,YAAY,kBA8GpD,CAAC;AAIF,eAAO,MAAM,aAAa,qEAKvB,mBAAmB,SA0BrB,CAAC;AAwDF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAEF,eAAO,MAAM,cAAc,YAE1B,CAAC;AAEF,eAAO,MAAM,cAAc,YAChB,MAAM,KACd,OAAO,CAAC,WAAW,GAAG,SAAS,CAiBjC,CAAC;AAEF,eAAO,MAAM,cAAc,QAAe,MAAM,GAAG,IAAI,KAAG,OAAO,CAAC,OAAO,CAWxE,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC"}
|
|
@@ -15,16 +15,115 @@ export declare function createCustomPurchaseConfig(callbacks: {
|
|
|
15
15
|
makePurchase: (productId: string) => Promise<HeliumPurchaseResult>;
|
|
16
16
|
restorePurchases: () => Promise<boolean>;
|
|
17
17
|
}): HeliumPurchaseConfig;
|
|
18
|
+
export type TriggerLoadingConfig = {
|
|
19
|
+
/** Whether to show loading state for this trigger. Set to nil to use the global `useLoadingState` setting. */
|
|
20
|
+
useLoadingState?: boolean;
|
|
21
|
+
/** Maximum seconds to show loading for this trigger. Set to nil to use the global `loadingBudget` setting. */
|
|
22
|
+
loadingBudget?: number;
|
|
23
|
+
};
|
|
24
|
+
export type HeliumPaywallLoadingConfig = {
|
|
25
|
+
/**
|
|
26
|
+
* Whether to show a loading state while fetching paywall configuration.
|
|
27
|
+
* When true, shows a loading view for up to `loadingBudget` seconds before falling back.
|
|
28
|
+
* Default: true
|
|
29
|
+
*/
|
|
30
|
+
useLoadingState?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Maximum time (in seconds) to show the loading state before displaying fallback.
|
|
33
|
+
* After this timeout, the fallback view will be shown even if the paywall is still downloading.
|
|
34
|
+
* Default: 2.0 seconds
|
|
35
|
+
*/
|
|
36
|
+
loadingBudget?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Optional per-trigger loading configuration overrides.
|
|
39
|
+
* Use this to customize loading behavior for specific triggers.
|
|
40
|
+
* Keys are trigger names, values are TriggerLoadingConfig instances.
|
|
41
|
+
* Example: Disable loading for "onboarding" trigger while keeping it for others.
|
|
42
|
+
*/
|
|
43
|
+
perTriggerLoadingConfig?: Record<string, TriggerLoadingConfig>;
|
|
44
|
+
};
|
|
45
|
+
export interface PaywallEventHandlers {
|
|
46
|
+
onOpen?: (event: PaywallOpenEvent) => void;
|
|
47
|
+
onClose?: (event: PaywallCloseEvent) => void;
|
|
48
|
+
onDismissed?: (event: PaywallDismissedEvent) => void;
|
|
49
|
+
onPurchaseSucceeded?: (event: PurchaseSucceededEvent) => void;
|
|
50
|
+
}
|
|
51
|
+
export interface PaywallOpenEvent {
|
|
52
|
+
type: 'paywallOpen';
|
|
53
|
+
triggerName: string;
|
|
54
|
+
paywallName: string;
|
|
55
|
+
isSecondTry: boolean;
|
|
56
|
+
viewType?: 'presented' | 'embedded' | 'triggered';
|
|
57
|
+
}
|
|
58
|
+
export interface PaywallCloseEvent {
|
|
59
|
+
type: 'paywallClose';
|
|
60
|
+
triggerName: string;
|
|
61
|
+
paywallName: string;
|
|
62
|
+
isSecondTry: boolean;
|
|
63
|
+
}
|
|
64
|
+
export interface PaywallDismissedEvent {
|
|
65
|
+
type: 'paywallDismissed';
|
|
66
|
+
triggerName: string;
|
|
67
|
+
paywallName: string;
|
|
68
|
+
isSecondTry: boolean;
|
|
69
|
+
}
|
|
70
|
+
export interface PurchaseSucceededEvent {
|
|
71
|
+
type: 'purchaseSucceeded';
|
|
72
|
+
productId: string;
|
|
73
|
+
triggerName: string;
|
|
74
|
+
paywallName: string;
|
|
75
|
+
isSecondTry: boolean;
|
|
76
|
+
}
|
|
77
|
+
export type HeliumPaywallEvent = {
|
|
78
|
+
type: 'paywallOpen' | 'paywallClose' | 'paywallDismissed' | 'paywallOpenFailed' | 'paywallSkipped' | 'paywallButtonPressed' | 'productSelected' | 'purchasePressed' | 'purchaseSucceeded' | 'purchaseCancelled' | 'purchaseFailed' | 'purchaseRestored' | 'purchaseRestoreFailed' | 'purchasePending' | 'initializeStart' | 'paywallsDownloadSuccess' | 'paywallsDownloadError' | 'paywallWebViewRendered';
|
|
79
|
+
triggerName?: string;
|
|
80
|
+
paywallName?: string;
|
|
81
|
+
/**
|
|
82
|
+
* @deprecated Use `paywallName` instead.
|
|
83
|
+
*/
|
|
84
|
+
paywallTemplateName?: string;
|
|
85
|
+
productId?: string;
|
|
86
|
+
/**
|
|
87
|
+
* @deprecated Use `productId` instead.
|
|
88
|
+
*/
|
|
89
|
+
productKey?: string;
|
|
90
|
+
ctaName?: string;
|
|
91
|
+
paywallDownloadTimeTakenMS?: number;
|
|
92
|
+
templateDownloadTimeTakenMS?: number;
|
|
93
|
+
imagesDownloadTimeTakenMS?: number;
|
|
94
|
+
stylesDownloadTimeTakenMS?: number;
|
|
95
|
+
fontsDownloadTimeTakenMS?: number;
|
|
96
|
+
bundleDownloadTimeMS?: number;
|
|
97
|
+
dismissAll?: boolean;
|
|
98
|
+
isSecondTry?: boolean;
|
|
99
|
+
error?: string;
|
|
100
|
+
/**
|
|
101
|
+
* @deprecated Use `error` instead.
|
|
102
|
+
*/
|
|
103
|
+
errorDescription?: string;
|
|
104
|
+
/**
|
|
105
|
+
* Unix timestamp in seconds
|
|
106
|
+
*/
|
|
107
|
+
timestamp?: number;
|
|
108
|
+
};
|
|
109
|
+
export type PresentUpsellParams = {
|
|
110
|
+
triggerName: string;
|
|
111
|
+
/** Optional. This will be called when paywall fails to show due to an unsuccessful paywall download or if an invalid trigger is provided. */
|
|
112
|
+
onFallback?: () => void;
|
|
113
|
+
eventHandlers?: PaywallEventHandlers;
|
|
114
|
+
customPaywallTraits?: Record<string, any>;
|
|
115
|
+
};
|
|
18
116
|
export interface HeliumConfig {
|
|
19
117
|
/** Your Helium API Key */
|
|
20
118
|
apiKey: string;
|
|
21
119
|
/** Configuration for handling purchases. Can be custom functions or a pre-built handler config. */
|
|
22
120
|
purchaseConfig: HeliumPurchaseConfig;
|
|
23
121
|
/** Callback for receiving all Helium paywall events. */
|
|
24
|
-
onHeliumPaywallEvent: (event:
|
|
25
|
-
|
|
122
|
+
onHeliumPaywallEvent: (event: HeliumPaywallEvent) => void;
|
|
123
|
+
/** Fallback bundle in the rare situation that paywall is not ready to be shown. Highly recommended. See docs at https://docs.tryhelium.com/guides/fallback-bundle#react-native */
|
|
26
124
|
fallbackBundle?: object;
|
|
27
|
-
|
|
125
|
+
/** Configure loading behavior for paywalls that are mid-download. */
|
|
126
|
+
paywallLoadingConfig?: HeliumPaywallLoadingConfig;
|
|
28
127
|
customUserId?: string;
|
|
29
128
|
customAPIEndpoint?: string;
|
|
30
129
|
customUserTraits?: Record<string, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
export { createCustomPurchaseConfig } from './types';
|
|
2
2
|
|
|
3
3
|
export {
|
|
4
|
-
HeliumProvider,
|
|
5
4
|
initialize,
|
|
6
5
|
presentUpsell,
|
|
7
6
|
hideUpsell,
|
|
8
7
|
hideAllUpsells,
|
|
9
8
|
getPaywallInfo,
|
|
10
9
|
handleDeepLink,
|
|
11
|
-
UpsellView,
|
|
12
10
|
HELIUM_CTA_NAMES,
|
|
13
|
-
useHelium,
|
|
14
11
|
NativeHeliumUpsellView,
|
|
15
12
|
} from './native-interface';
|
|
16
13
|
|
|
@@ -18,4 +15,13 @@ export type {
|
|
|
18
15
|
HeliumTransactionStatus,
|
|
19
16
|
HeliumConfig,
|
|
20
17
|
HeliumUpsellViewProps,
|
|
18
|
+
HeliumPaywallLoadingConfig,
|
|
19
|
+
TriggerLoadingConfig,
|
|
20
|
+
PaywallEventHandlers,
|
|
21
|
+
PaywallOpenEvent,
|
|
22
|
+
PaywallCloseEvent,
|
|
23
|
+
PaywallDismissedEvent,
|
|
24
|
+
PurchaseSucceededEvent,
|
|
25
|
+
HeliumPaywallEvent,
|
|
26
|
+
PresentUpsellParams,
|
|
21
27
|
} from './types';
|