- A webview implementation of in Flutter that blocks most of the ads that appear inside of the webpages
- Current implementation is based on official
flutter_inappwebview
packages. So, the features and limitation of that package is included
On iOS the WebView widget is backed by a WKWebView. On Android the WebView widget is backed by a WebView.
Android | iOS | |
---|---|---|
Support | SDK 19+ or 20+ | 11.0+ |
Getting started
Add adblocker_webview
as a dependency in your pubspec.yaml file.
Usage
- Acquire an instance of AdBlockerWebviewController
final _adBlockerWebviewController = AdBlockerWebviewController.instance;
It's better to warm up the controller before displaying the webview. It's possible to do that by
@override
void initState() {
super.initState();
_adBlockerWebviewController.initialize();
/// ... Other code here.
}
- Add the AdBlockerWebview in widget tree
AdBlockerWebview(
url: "Valid url Here",
adBlockerWebviewController: widget.controller,
onProgress: (progress) {
setState(() {
_progress = progress;
});
},
shouldBlockAds: true,
/// Other params if required
);
Supported params of AdBlockerWebview are:
const AdBlockerWebview({
super.key,
required this.url,
required this.adBlockerWebviewController,
required this.shouldBlockAds,
this.onLoadStart,
this.onLoadFinished,
this.onProgress,
this.onLoadError,
this.onTitleChanged,
this.options,
this.additionalHostsToBlock = const [],
});
Caching
- API response for Ad hosts is cached automatically and no config is required!
Contribution
Contributions are welcome 😄. Please file an issue here if you want to include additional feature or found a bug!
Guide
- Create an issue first to make sure your request is not a duplicate one
- Create a fork of the repository (If it's your first contribution)
- Make a branch from
develop
- Branch name should indicate the contribution type
feature/**
for new featurebugfix/**
for a bug fix
- Raise a PR against the
develop
branch