functional_google_mobile_ads 0.1.5 copy "functional_google_mobile_ads: ^0.1.5" to clipboard
functional_google_mobile_ads: ^0.1.5 copied to clipboard

Functional version of Google Mobile Ads

example/lib/main.dart

import 'package:flutter/material.dart';

import 'package:selector/selector.dart';
import 'package:functional_google_mobile_ads/functional_google_mobile_ads.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  MobileAds.instance.initialize();
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final _rewarded = FunctionalRewardedAd();

  @override
  void initState() {
    super.initState();
  }

  @override
  void dispose() {
    super.dispose();
    _rewarded.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Functional Google Mobile Ads example'),
        ),
        body: Column(
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: [
            ElevatedButton(
                onPressed: () async {
                  await FunctionalInterstitialAd.loadAndShow(
                      adUnitId: TestAdId.interstitial);

                  print('interstitial ok');
                },
                child: const Text('InterstitialAd')),
            ElevatedButton(
                onPressed: () async {
                  final item = await FunctionalRewardedAd.loadAndShow(
                      adUnitId: TestAdId.rewarded);

                  print('item is ${item.amount}');
                  print('item is ${item.type}');
                },
                child: const Text('RewardedAd')),
            ElevatedButton(
                onPressed: () async {
                  final item = await FunctionalRewardedInterstitialAd.loadAndShow(
                      adUnitId: TestAdId.rewardedInterstitial);

                  print('item is ${item.amount}');
                  print('item is ${item.type}');
                },
                child: const Text('RewardedInterstitialAd')),
            const Spacer(),
            FunctionalBannerAd(
              bannerAdUnitId: TestAdId.banner,
              adSize: AdSize.banner,
            ),
          ],
        ),
      ),
    );
  }
}

class TestAdId {
  static final String appOpening = androidOrElse(
    'ca-app-pub-3940256099942544/3419835294',
    'ca-app-pub-3940256099942544/5662855259',
  );
  static final String banner = androidOrElse(
    'ca-app-pub-3940256099942544/6300978111',
    'ca-app-pub-3940256099942544/2934735716',
  );
  static final String interstitial = androidOrElse(
    'ca-app-pub-3940256099942544/1033173712',
    'ca-app-pub-3940256099942544/4411468910',
  );
  static final String interstitialVideo = androidOrElse(
    'ca-app-pub-3940256099942544/8691691433',
    'ca-app-pub-3940256099942544/5135589807',
  );
  static final String rewarded = androidOrElse(
    'ca-app-pub-3940256099942544/5224354917',
    'ca-app-pub-3940256099942544/1712485313',
  );
  static final String rewardedInterstitial = androidOrElse(
    'ca-app-pub-3940256099942544/5354046379',
    'ca-app-pub-3940256099942544/6978759866',
  );
  static final String nativeAdvanced = androidOrElse(
    'ca-app-pub-3940256099942544/2247696110',
    'ca-app-pub-3940256099942544/3986624511',
  );
  static final String nativeAdvancedVideo = androidOrElse(
    'ca-app-pub-3940256099942544/1044960115',
    'ca-app-pub-3940256099942544/2521693316',
  );
}
copied to clipboard
10
likes
130
points
49
downloads

Publisher

unverified uploader

Weekly Downloads

2024.09.30 - 2025.04.14

Functional version of Google Mobile Ads

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, google_mobile_ads, plugin_platform_interface

More

Packages that depend on functional_google_mobile_ads