promo_carousel 1.2.0 copy "promo_carousel: ^1.2.0" to clipboard
promo_carousel: ^1.2.0 copied to clipboard

A flexible, customizable promotional carousel package for Flutter.

1.2.0 #

  • Hero Animations - Smooth transitions between the carousel and host app
  • Audio Feedback - Global and per-slide sound effects
  • 3D Transitions - Cube and Flip 3D page transitions
  • Geolocation Rules - Filter slides by country and region
  • Internationalization - Built-in support for 14 languages (EN, MY, ES, FR, DE, JA, ZH, KO, HI, AR, PT, RU, TH, VI)
  • Enhanced Images - Transparently handle local assets OR network images with caching
  • doc: Update README.md

1.1.0 #

πŸŽ‰ Major Feature Release #

Added - Analytics & Tracking

  • ✨ Analytics Callbacks - Comprehensive tracking system
    • onSlideViewed - Track when slides become visible
    • onSlideSkipped - Monitor slide skips
    • onCTAClicked - Track CTA interactions with action and target
    • onCarouselCompleted - Know when users complete the carousel
    • onCarouselDismissed - Track early dismissals
    • onSkipAll - Monitor skip-all button usage
  • πŸ“Š Export Analytics - Export analytics data as JSON via PromoCarousel.exportAnalytics()
  • πŸ” Viewed Slides Tracking - Automatic tracking of which slides were viewed

Added - Auto-Advance

  • ⏱️ Auto-Advance Timer - Automatically progress through slides
  • ⏸️ Pause on Interaction - Smart pause when user interacts
  • πŸ”„ Auto-Reset - Timer resets on manual page changes
  • 🎬 Configurable Duration - Set custom advance timing per carousel

Added - Enhanced Display

  • 🎭 Multiple Display Modes - Dialog, bottom sheet, and fullscreen
  • πŸ’¨ Backdrop Blur - Add frosted glass effect to modal overlay
  • πŸ“ Progress Bar - Linear progress indicator with top/bottom positioning
  • 🎨 Custom Indicators - indicatorBuilder for custom page indicators
  • 🎬 Transition Types - Slide, fade, scale, rotate, or no animation

Added - User Experience

  • ⚑ Skip All Button - Let users bypass entire carousel
  • πŸ“± Tap to Advance - Optional tap-anywhere to advance
  • 🎯 Swipe Threshold - Configurable swipe sensitivity
  • β™Ώ Haptic Feedback - Tactile response with configurable intensity
  • 🌊 Reduced Motion Support - Respect system accessibility settings

Added - Advanced Rules

  • πŸ“… Date Range Rules - showAfterDate and showBeforeDate
  • πŸ“± Device Type Filtering - Show slides only on specific device types
  • πŸ‘₯ User Segment Targeting - Target specific user groups
  • πŸ”’ Version Range - Both minAppVersion and maxAppVersion
  • 🎯 Custom Conditions - customCondition callback for complex logic

Added - Developer Experience

  • 🌍 JSON Parsing - Built-in JSON serialization for slides, CTAs, and rules
  • πŸ“¦ Remote Config Ready - PromoCarousel.fromJson() for easy integration
  • πŸ§ͺ Preview Mode - showPreview() to test all slides without rules
  • πŸ› Debug Mode - Global PromoCarousel.debugMode flag
  • πŸ“ Semantic Labels - Accessibility labels for slides and CTAs
  • 🏷️ Metadata Support - Attach custom metadata to slides for A/B testing

Added - Display Variants

  • πŸ†• showBottomSheet() - Dedicated bottom sheet presentation
  • πŸ†• showFullscreen() - Dedicated fullscreen presentation
  • 🏭 Pre-built Configs - Factory constructors for common scenarios:
    • PromoCarouselConfig.onboarding()
    • PromoCarouselConfig.announcement()
    • PromoCarouselConfig.marketing()

Added - State Management

  • πŸ“Š shouldShowAny() - Check if any slides should be shown
  • πŸ”„ resetSlides() - Reset multiple slides at once
  • πŸ“‹ getSeenSlides() - Get list of all seen slide IDs
  • πŸ’Ύ exportAnalytics() - Export complete analytics data

Enhanced

  • 🎯 PromoAction.custom - New custom action type with callback
  • πŸ“± Device Type Detection - Automatic device type detection support
  • 🎨 Visual Type Expansion - Added PromoVisualType.video
  • πŸ”§ Controller Enhancements - Improved controller with auto-advance logic
  • πŸ“¦ Config Enhancements - 20+ new configuration options
  • 🎭 Modal Enhancements - Backdrop blur, display modes, progress bar

Improved

  • β™Ώ Accessibility - Better screen reader support with semantic labels
  • 🎨 Theming - Enhanced Material 3 theme adaptation
  • πŸ“± Responsive Design - Better handling of different screen sizes
  • πŸ”„ State Persistence - More robust SharedPreferences error handling
  • πŸ“ Documentation - Expanded docs with 20+ new examples

1.0.0 #

πŸŽ‰ Initial Release #

Added

  • ✨ Modal promotional carousel with swipeable PageView
  • 🎯 Five built-in visual types (image, animation, searchBar, featureHighlight, custom)
  • πŸ”§ Custom widget injection via customContentBuilder
  • πŸ’Ύ Persistent state management with SharedPreferences
  • πŸ“Š Page indicator showing current position (e.g., "3 / 12")
  • 🎬 Four built-in actions (navigate, openFeature, openPaywall, close)
  • βš™οΈ Configurable appearance via PromoCarouselConfig
  • πŸŒ— Automatic light/dark theme adaptation
  • πŸ”’ Privacy-focused: no user data in package
  • πŸ“± Responsive dialog layout with Material 3 support
  • βœ… "Don't show again" option (optional)
  • 🎨 Customizable border radius, elevation, and colors
  • πŸ“ Page rules (showOnce, minAppVersion)
  • πŸ”„ Smooth page transition animations
  • 🎯 Clean public API via PromoCarousel.show()
  • 🧹 Utility methods: resetSlide(), resetAll()
  • πŸ“– Comprehensive documentation and examples
  • β™Ώ Semantic structure for accessibility