Skip to content

Commit 75c5c9c

Browse files
NickSxticlaude
andcommitted
Update example app to use DeferredPurchasesListener
Replace the deprecated EntitlementsUpdateListener with the new DeferredPurchasesListener in the EntitlementsScreen of the sample app. The new listener receives a PurchaseResult and we read entitlements from it to update the local state. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent aa2f425 commit 75c5c9c

File tree

1 file changed

+17
-12
lines changed
  • example/src/screens/EntitlementsScreen

1 file changed

+17
-12
lines changed

example/src/screens/EntitlementsScreen/index.tsx

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
ScrollView,
88
Platform,
99
} from 'react-native';
10-
import Qonversion, { Entitlement } from '@qonversion/react-native-sdk';
10+
import Qonversion, { PurchaseResult } from '@qonversion/react-native-sdk';
1111
import Snackbar from 'react-native-snackbar';
1212
import { AppContext } from '../../store/AppStore';
1313
import SkeletonLoader from '../../components/SkeletonLoader';
@@ -37,22 +37,27 @@ const EntitlementsScreen: React.FC = () => {
3737
}
3838
};
3939

40-
const setEntitlementsListener = () => {
41-
console.log('🔄 [Qonversion] Setting entitlements update listener...');
42-
Qonversion.getSharedInstance().setEntitlementsUpdateListener({
43-
onEntitlementsUpdated(entitlements: Map<string, Entitlement>) {
40+
const setDeferredPurchasesListener = () => {
41+
console.log('🔄 [Qonversion] Setting deferred purchases listener...');
42+
Qonversion.getSharedInstance().setDeferredPurchasesListener({
43+
onDeferredPurchaseCompleted(purchaseResult: PurchaseResult) {
4444
console.log(
45-
'📡 [Qonversion] Entitlements updated via listener:',
46-
Object.fromEntries(entitlements)
45+
'📡 [Qonversion] Deferred purchase completed via listener:',
46+
purchaseResult
4747
);
48-
dispatch({ type: 'SET_ENTITLEMENTS', payload: entitlements });
48+
if (purchaseResult.entitlements) {
49+
dispatch({
50+
type: 'SET_ENTITLEMENTS',
51+
payload: purchaseResult.entitlements,
52+
});
53+
}
4954
},
5055
});
5156
console.log(
52-
'✅ [Qonversion] Entitlements update listener set successfully'
57+
'✅ [Qonversion] Deferred purchases listener set successfully'
5358
);
5459
Snackbar.show({
55-
text: 'Entitlements listener set successfully!',
60+
text: 'Deferred purchases listener set successfully!',
5661
duration: Snackbar.LENGTH_SHORT,
5762
});
5863
};
@@ -148,10 +153,10 @@ const EntitlementsScreen: React.FC = () => {
148153

149154
<TouchableOpacity
150155
style={styles.button}
151-
onPress={setEntitlementsListener}
156+
onPress={setDeferredPurchasesListener}
152157
>
153158
<Text style={styles.buttonText}>
154-
Set Entitlements Updated Listener
159+
Set Deferred Purchases Listener
155160
</Text>
156161
</TouchableOpacity>
157162

0 commit comments

Comments
 (0)