fetchOffers method
Fetch offers from RevenueCat; fallback to local JSON if failed
Implementation
Future<void> fetchOffers() async {
loading.value = true;
loadError.value = false;
try {
final products = await Purchases.getProducts( productIds );
if (products.isNotEmpty) {
offers.assignAll(products);
print("✅ Products fetched directly");
} else {
print("❌ Product fetch failed loading fallback offers...");
_loadFallback();
loadError.value = true;
}
} catch (e) {
print("❌ Product fetch failed: $e");
_loadFallback();
loadError.value = true;
} finally {
loading.value = false;
}
}