dynamic_island_watermark
A Flutter package that adds a subtle watermark on screenshots behind the Dynamic Island on supported iPhone models. Perfect for growth-hacking or adding helpful information in screenshots. This package does nothing on devices without a dynamic island.
Motivation
The Dynamic Island on iPhone models like the Pro series is a unique, interactive UI feature. Adding a watermark behind the Dynamic Island helps you:
- Growth hack: A/B test new features or promotional content without permanently modifying your UI.
- Debugging: Include version information in screenshot that get sent to you, without making it otherwise user visible
Installation
Add dynamic_island_watermark
as a dependency in your pubspec.yaml
:
dependencies:
dynamic_island_watermark: ^1.0.0
Then fetch the package:
flutter pub get
Usage
Wrap your app with the DynamicIslandWatermark
widget:
import 'package:dynamic_island_watermark/dynamic_island_watermark.dart';
import 'package:flutter/material.dart';
void main() {
runApp(
DynamicIslandWatermark(
watermark: Watermark(),
child: const MyApp(),
),
);
}
Parameters
watermark
(Widget): The widget displayed as the watermark.child
(Widget): Your app.
Demo
Recommendations and tips
✅ Do's
- Only display your brand or application logo—otherwise you risk store-submission issues.
❌ Don’ts
- Avoid placing extraneous visuals (especially ads). Only display your brand or application logo—otherwise you risk store-submission issues.
- Never embed important or sensitive information in the watermark widget. Assume users won’t even notice it.
- Don’t add tap callbacks to widgets positioned under hardware barriers. Users won’t be able to interact with them.
- Don’t use the watermark if your app’s top app bar is already crowded with elements. It will make the UI look overloaded.
Contributing
Contributions, issues, and feature requests are welcome! Feel free to open an issue or submit a pull request.