smooth_paywall 0.0.2 copy "smooth_paywall: ^0.0.2" to clipboard
smooth_paywall: ^0.0.2 copied to clipboard

A modern, customizable paywall UI for Flutter apps with optional smooth_bottom_sheet integration.

smooth_paywall #

pub package likes

A smooth, production-ready paywall UI for Flutter apps.

Build elegant monetization screens with configurable themes, layouts and interaction states.

[Smooth Paywall White] [Smooth Paywall Black]

Demo GIFs are included in assets/readme.

Why this package #

Most paywall implementations are tightly coupled to billing SDK details or hardcoded designs.

smooth_paywall focuses on:

  • Reusable UI for real products
  • Clear separation between UI, logic and configuration
  • Flexibility for subscriptions and one-time purchase layouts

Features #

  • Modern paywall UI with dark mode support
  • Subscription and one-time layouts
  • Built-in states: idle, loading, error, success
  • Accessibility-ready semantics on plans, features and CTA
  • Configurable theme, spacing, typography and animation behavior
  • Can run standalone or be embedded in custom containers
  • Optional integration with smooth_bottom_sheet (without package dependency)

Installation #

dependencies:
	smooth_paywall: ^0.0.1

Usage #

import 'package:smooth_paywall/smooth_paywall.dart';

SmoothPaywall(
	title: 'Unlock Premium',
	subtitle: 'Choose the best plan for you.',
	features: const [
		PaywallFeature(title: 'No ads', icon: Icons.block),
		PaywallFeature(title: 'Priority support', icon: Icons.support_agent),
	],
	plans: const [
		PaywallPlan(
			id: 'yearly',
			title: 'Yearly',
			priceLabel: '\$24.99',
			periodLabel: '/year',
			badge: 'Best value',
		),
		PaywallPlan(
			id: 'monthly',
			title: 'Monthly',
			priceLabel: '\$4.99',
			periodLabel: '/month',
		),
	],
	onPurchase: (selectedPlan) async {
		// Connect your billing flow and return action status.
		return const PaywallActionResult.success();
	},
)

Optional integration with smooth_bottom_sheet #

smooth_paywall does not require smooth_bottom_sheet, but you can combine both:

showSmoothBottomSheet(
	context: context,
	title: 'Premium',
	child: SmoothPaywall(
		embedded: true,
		features: features,
		plans: plans,
	),
);

Personalization #

You can customize:

  • Complete color system via SmoothPaywallTheme
  • Sizes, spacing and structure via SmoothPaywallLayout
  • Motion timings and transitions via SmoothPaywallAnimation
  • Text labels, legal actions, restore flow and close behavior

Example app #

See example/lib/main.dart for a complete demo with:

  • Standalone full-screen paywall presentation
  • Optional smooth_bottom_sheet wrapper
  • Simulated success and error purchase states

Author #

Created by Elia Zavatta.

I build production-ready Flutter apps and reusable UI components.

License #

MIT

1
likes
0
points
178
downloads

Publisher

verified publishereliazavatta.it

Weekly Downloads

A modern, customizable paywall UI for Flutter apps with optional smooth_bottom_sheet integration.

Repository (GitHub)
View/report issues

Topics

#paywall #subscriptions #monetization #flutter-widgets #smooth

License

unknown (license)

Dependencies

flutter

More

Packages that depend on smooth_paywall