I use import * as StoreReview from 'expo-store-review';
In my onboarding I do:
const requestAppRating = async () => { try { console.log('Requesting app rating via StoreReview');
if (await StoreReview.isAvailableAsync()) {
console.log('Store review is available, requesting rating');
await StoreReview.requestReview();
} else {
console.log('Store review not available on this device');
// Fallback: show alert encouraging manual rating
Alert.alert(
'Rate Oddible',
'Enjoying the app? Please take a moment to rate us on the App Store!',
[
{ text: 'Maybe Later', style: 'cancel' },
{ text: 'Rate Now', onPress: () => {
console.log('User chose to rate manually');
// You can add a link to the App Store here if needed
}}
]
);
}
} catch (error) {
console.error('Error requesting app rating:', error);
}
};
This works perfectly in my development build but my production build in the app store does not pop up to request a review from a user.
Any idea why this could be the case?