follow_up 0.1.0 copy "follow_up: ^0.1.0" to clipboard
follow_up: ^0.1.0 copied to clipboard

Forced, localized gospel-invitation flow for Flutter apps: shows after N app opens with a full-screen animated presentation.

follow_up #

A forced, localized gospel-invitation flow for Flutter apps.

After a configurable number of app opens and a short delay, FollowUpGate shows a non-dismissible teaser popup that leads into a full-screen, animated five-scene narrative — localized to the visitor's device language (10 languages out of the box, with RTL support for Arabic) — ending in two response buttons.

Features #

  • Configurable trigger: openThreshold (default 40) and delay (default 10s), tracked per install via shared_preferences.
  • Non-dismissible teaser popup — no close icon, no barrier dismiss, back gesture disabled.
  • Full-screen animated flow: custom-painted illustrations (a cracked globe, falling petals, radiating light, a glowing cross, a hand-drawn heart), entrance animations, and a "next" button that reveals a couple seconds after each scene settles.
  • Localized to Arabic, English, Spanish, French, Portuguese, Hindi, Mandarin, Russian, Indonesian, and Swahili — auto-detected from the device locale, with RTL layout for Arabic.
  • Final response: an "interested" callback (onInterested) and/or a configurable ctaUrl opened via url_launcher, or "not now" — either way it's shown only once per install.

Getting started #

dependencies:
  follow_up: ^0.0.1

Usage #

Wrap your app's home screen in FollowUpGate, inside MaterialApp (it needs a Navigator above it):

MaterialApp(
  home: FollowUpGate(
    onInterested: (context) async {
      // e.g. navigate to a contact screen, log an event, etc.
    },
    child: MyHomePage(),
  ),
)

Language is read straight from the device's own locale settings, so this works out of the box regardless of whether MaterialApp.locale / supportedLocales are configured. Pass locale: to force a specific language instead (e.g. for a preview, a test, or an in-app language switcher):

FollowUpGate(
  locale: const Locale('ar'),
  child: MyHomePage(),
)

See example/ for a runnable demo with a debug panel to force-trigger the flow without waiting for 40 real app opens.

Additional information #

Scene copy is original per language, not a literal translation — file an issue if you spot something that reads awkwardly in a given language.

0
likes
160
points
--
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Forced, localized gospel-invitation flow for Flutter apps: shows after N app opens with a full-screen animated presentation.

Repository (GitHub)

License

MIT (license)

Dependencies

flutter, shared_preferences, url_launcher

More

Packages that depend on follow_up