ds_ads
Ads wrapper components.
Supports interstitial, native and other ads by Google Ads and AppLovin.
Getting started
Add using it:
Add ds_ads
to pubspec.yaml
dependencies:
ds_ads: ^1.0.0
Initialize
DSAdsManager(
onPaidEvent: (Ad ad, double valueMicros, PrecisionType precision, String currencyCode, String format) async {
// Process paid event (e.g. send stat)
},
appState: // application state (implementation of DSAppAdsState)
nativeAdBannerStyle: NativeAdBannerStyle.style1,
onReportEvent: (eventName, attributes) {
// send stat
},
interstitialUnitId: 'ca-app-pub-3940256099942544/7049598008',
nativeUnitId: 'ca-app-pub-3940256099942544/2247696110',
);
NB! You should process exceptions by Fimber from ds_common library. For example:
Fimber.plantTree(DebugTree());
See details at root Fimber project.
Preload ads
DSAdsManager.interstitial.fetchAd(then: () async {
await DSAdsNativeLoaderMixin.fetchAd();
});
Show interstitial ad
await AdsManager.interstitial.showAd();
Show native ad
class SomePageState extends State<SomePage> with DSAdsNativeLoaderMixin {
@override
String? get nativeAdLocation => 'some_page'; // Just for stats purposes
@override
Widget build(BuildContext context) {
return ...
Padding(
padding:
child: nativeAdWidget(),
),
...
}
}