The install banner is built around the beforeinstallprompt browser event. The plugin:
- Listens for
beforeinstallpromptand stores the event (deferred). - Shows the banner according to the configured trigger type.
- On Install click, calls
deferredPrompt.prompt()and waits for user choice. - On
appinstalled, fires a beacon event.
For iOS Safari (which does not fire beforeinstallprompt), the iOS overlay shows share-button instructions.
Dismiss persistence: Dismissal is stored in localStorage with a timestamp. The banner will not show again until dismiss_days have elapsed.
