🎯 Flutter совет: Шаблон подписки с Provider
Управление подпиской через
---
🔧 Модель состояния подписки
---
🧩 Регистрация провайдера в main.dart
---
Использование подписки в UI
---
Пример обработки подписки
---
💡 Совет: Периодически проверяйте подписку при запуске приложения — особенно если используете серверную валидацию или Webhook-обновления.
💬 Поделитесь в комментариях, как вы реализуете подписки в своих приложениях!
📌 Все советы рубрики — по хэштегу #FlutterPulseTips
#flutter #dart #provider #architecture #subscriptions #revenuecat #qonversion #boilerplate #mobiledev #FlutterPulseTips #UIUX #premiumapps
Управление подпиской через
Provider
— один из самых чистых и масштабируемых способов построения архитектуры подписок в Flutter. Ниже — полный шаблон, который можно адаптировать под RevenueCat, Qonversion, Firebase и другие платформы.---
🔧 Модель состояния подписки
class SubscriptionModel extends ChangeNotifier {
bool _isSubscribed = false;
DateTime? _expiryDate;
bool get isSubscribed => _isSubscribed;
DateTime? get expiryDate => _expiryDate;
void updateStatus({required bool subscribed, DateTime? expiry}) {
_isSubscribed = subscribed;
_expiryDate = expiry;
notifyListeners();
}
void reset() {
_isSubscribed = false;
_expiryDate = null;
notifyListeners();
}
bool get isExpired {
if (_expiryDate == null) return true;
return DateTime.now().isAfter(_expiryDate!);
}
}
---
🧩 Регистрация провайдера в main.dart
void main() {
runApp(
ChangeNotifierProvider(
create: (_) => SubscriptionModel(),
child: const MyApp(),
),
);
}
---
Использование подписки в UI
Consumer<SubscriptionModel>(
builder: (context, model, _) {
if (model.isSubscribed) {
return const PremiumContent();
}
return Column(
children: [
const Text("Оформите подписку для доступа к премиум-функциям"),
ElevatedButton(
onPressed: () => handleSubscription(context),
child: const Text("Подписаться"),
),
],
);
},
)
---
Пример обработки подписки
Future<void> handleSubscription(BuildContext context) async {
final model = context.read<SubscriptionModel>();
final result = await PurchaseService.buy(); // ваша реализация
if (result.success) {
model.updateStatus(
subscribed: true,
expiry: result.expiryDate,
);
} else {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text("Не удалось оформить подписку")),
);
}
}
---
💡 Совет: Периодически проверяйте подписку при запуске приложения — особенно если используете серверную валидацию или Webhook-обновления.
💬 Поделитесь в комментариях, как вы реализуете подписки в своих приложениях!
📌 Все советы рубрики — по хэштегу #FlutterPulseTips
#flutter #dart #provider #architecture #subscriptions #revenuecat #qonversion #boilerplate #mobiledev #FlutterPulseTips #UIUX #premiumapps
Лучшие обновленные пакеты за последние 24 часа!
drift_dev 2.27.0
Пакет используется для генерации кода базы данных из классов Table в Drift. В новой версии исправлены ошибки при генерации кода схемы для столбцов, ссылающихся на другие столбцы, улучшены импорты и добавлена возможность игнорировать ограничения столбцов при валидации схемы.
👍 Лайки: 54, 📥 Скачиваний: 219К
https://pub.dev/packages/drift_dev
Drift 2.27.0
Реактивная библиотека для работы с базами данных SQLite. В новой версии добавлена возможность передавать callback-функцию sqlite3 в NativeDatabase для настройки получения связок SQLite.
👍 Лайки: 2.08К, 📥 Скачиваний: 379К
https://pub.dev/packages/drift
Fluwx 5.5.5
Плагин для Flutter, позволяющий вызывать нативные API WeChatSDK. Теперь поддерживается обмен видео на платформе HarmonyOS, а также обновлена версия HarmonyOS SDK до 1.0.14.
👍 Лайки: 250, 📥 Скачиваний: 5.6К
https://pub.dev/packages/fluwx
html_editor_enhanced 2.7.0
Текстовый редактор для Android, iOS и Web, позволяющий писать WYSIWYG HTML-код с помощью оболочки JavaScript Summernote. В новой версии исправлены устаревшие функции в последних версиях Flutter и обновлены зависимости.
👍 Лайки: 626, 📥 Скачиваний: 33.8К
https://pub.dev/packages/html_editor_enhanced
google_api_headers 2.0.0
Пакет используется для получения заголовков, необходимых для вызова API Google с ограниченным ключом API в приложениях Flutter. В новой версии обновлена версия компилятора Android до 33 и добавлена совместимость с Android Gradle Plugin 8.0.
👍 Лайки: 30, 📥 Скачиваний: 79.6К
https://pub.dev/packages/google_api_headers
Pro Image Editor 9.13.0
Виджет Flutter для редактирования изображений в вашем приложении. В новой версии добавлена возможность динамически выравнивать поле ввода текста в редакторе текста.
👍 Лайки: 392, 📥 Скачиваний: 19.8К
https://pub.dev/packages/pro_image_editor
#drift_dev #Drift #Fluwx #html_editor_enhanced #google_api_headers #ProImageEditor #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
drift_dev 2.27.0
Пакет используется для генерации кода базы данных из классов Table в Drift. В новой версии исправлены ошибки при генерации кода схемы для столбцов, ссылающихся на другие столбцы, улучшены импорты и добавлена возможность игнорировать ограничения столбцов при валидации схемы.
👍 Лайки: 54, 📥 Скачиваний: 219К
https://pub.dev/packages/drift_dev
Drift 2.27.0
Реактивная библиотека для работы с базами данных SQLite. В новой версии добавлена возможность передавать callback-функцию sqlite3 в NativeDatabase для настройки получения связок SQLite.
👍 Лайки: 2.08К, 📥 Скачиваний: 379К
https://pub.dev/packages/drift
Fluwx 5.5.5
Плагин для Flutter, позволяющий вызывать нативные API WeChatSDK. Теперь поддерживается обмен видео на платформе HarmonyOS, а также обновлена версия HarmonyOS SDK до 1.0.14.
👍 Лайки: 250, 📥 Скачиваний: 5.6К
https://pub.dev/packages/fluwx
html_editor_enhanced 2.7.0
Текстовый редактор для Android, iOS и Web, позволяющий писать WYSIWYG HTML-код с помощью оболочки JavaScript Summernote. В новой версии исправлены устаревшие функции в последних версиях Flutter и обновлены зависимости.
👍 Лайки: 626, 📥 Скачиваний: 33.8К
https://pub.dev/packages/html_editor_enhanced
google_api_headers 2.0.0
Пакет используется для получения заголовков, необходимых для вызова API Google с ограниченным ключом API в приложениях Flutter. В новой версии обновлена версия компилятора Android до 33 и добавлена совместимость с Android Gradle Plugin 8.0.
👍 Лайки: 30, 📥 Скачиваний: 79.6К
https://pub.dev/packages/google_api_headers
Pro Image Editor 9.13.0
Виджет Flutter для редактирования изображений в вашем приложении. В новой версии добавлена возможность динамически выравнивать поле ввода текста в редакторе текста.
👍 Лайки: 392, 📥 Скачиваний: 19.8К
https://pub.dev/packages/pro_image_editor
#drift_dev #Drift #Fluwx #html_editor_enhanced #google_api_headers #ProImageEditor #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages