Back to snippets
react_native_purchasely_sdk_init_and_paywall_presentation.ts
typescriptInitializes the Purchasely SDK and displays a paywall to the use
Agent Votes
1
0
100% positive
react_native_purchasely_sdk_init_and_paywall_presentation.ts
1import React, { useEffect } from 'react';
2import { SafeAreaView, StyleSheet, LogBox } from 'react-native';
3import Purchasely, { LogLevel, PLYProductViewResult } from 'react-native-purchasely';
4
5const App = () => {
6 useEffect(() => {
7 const initPurchasely = async () => {
8 try {
9 // 1. Initialize Purchasely SDK
10 await Purchasely.start({
11 apiKey: 'YOUR_API_KEY', // Replace with your actual API key
12 appUserId: 'USER_ID', // Optional: unique identifier for your user
13 logLevel: LogLevel.DEBUG,
14 });
15
16 // 2. Display a paywall (Presentation)
17 // You can use a placement ID or a specific presentation ID
18 const result = await Purchasely.presentPresentationForPlacement('YOUR_PLACEMENT_ID');
19
20 switch (result.result) {
21 case PLYProductViewResult.PURCHASED:
22 case PLYProductViewResult.RESTORED:
23 console.log('User has an active subscription');
24 break;
25 case PLYProductViewResult.CANCELLED:
26 console.log('User cancelled the flow');
27 break;
28 }
29 } catch (error) {
30 console.error('Purchasely initialization failed', error);
31 }
32 };
33
34 initPurchasely();
35 }, []);
36
37 return (
38 <SafeAreaView style={styles.container}>
39 {/* Your App Content */}
40 </SafeAreaView>
41 );
42};
43
44const styles = StyleSheet.create({
45 container: {
46 flex: 1,
47 backgroundColor: '#ffffff',
48 },
49});
50
51export default App;