Flutter广告展示插件fat_ads的使用

Flutter广告展示插件fat_ads的使用

FatAds

FatAds 是一个为 Flutter 开发者设计的广告集成包。目前,该包仅支持 AppOpen 广告。

关键特性

  • 包含命令行工具,可以自动更新 AndroidManifest.xmlInfo.plist 文件。
  • 在调试模式下,始终使用测试单元 ID 以确保安全性。
  • 为了方便跨平台开发,当在不支持的平台上运行时,采用静默失败而不是抛出异常。
  • 所有参数都有默认值,以便提高可读性。
  • 支持 Android 和 iOS 平台。

使用方法

要将 AdMob App ID 添加或更新到 AndroidManifest.xmlInfo.plist 文件中,请运行以下命令:

flutter pub run fat_ads

显示AppOpen广告

要显示 AppOpen 广告,请在调用 runApp() 之前调用 appOpenAds() 函数,并确保使用 await 关键字。这样可以防止广告突然出现在您的用户界面上。

void main() async {
  // 这是一个异步函数,当广告加载成功或者在指定时间内无法加载时返回。
  // 为了避免广告突然出现在您的UI上,请确保在调用 `runApp()` 之前调用此函数,并且记得使用 `await` 关键字。
  await appOpenAds(
    // iosUnitId: "<ios ad unit id>",
    // androidUnitId: "<android ad unit id>",
    loadingTimeout: const Duration(seconds: 5),
  );

  runApp(const MyApp());
}

完整示例代码

以下是一个完整的示例代码,展示了如何在 Flutter 应用中使用 fat_ads 插件来显示 AppOpen 广告。

import 'package:fat_ads/fat_ads.dart';
import 'package:flutter/material.dart';

// 注意:如果你忘记在 AndroidManifest.xml 或 Info.plist 中添加 AdMob App ID,应用将会崩溃。

void main() async {
  // 调用 appOpenAds() 函数并设置加载超时时间
  await appOpenAds(
    // iosUnitId: "your_ios_ad_unit_id", // 如果需要,取消注释并替换为你的 iOS 广告单元 ID
    // androidUnitId: "your_android_ad_unit_id", // 如果需要,取消注释并替换为你的 Android 广告单元 ID
    loadingTimeout: const Duration(seconds: 5),
  );

  runApp(const MyApp());
}

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

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Fat Ads'),
        ),
        body: const FatDebug(
          child: Center(child: Text('Did you see the App Open Ad popup?')),
        ),
      ),
    );
  }
}

更多关于Flutter广告展示插件fat_ads的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter广告展示插件fat_ads的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


fat_ads 是 Flutter 中的一个广告插件,用于在移动应用中展示广告。它支持多种广告类型,如横幅广告、插页广告、激励视频广告等。以下是使用 fat_ads 插件展示广告的基本步骤和示例代码。

1. 添加依赖

首先,在你的 pubspec.yaml 文件中添加 fat_ads 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  fat_ads: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 以获取依赖包。

2. 初始化广告

在应用的启动时初始化 fat_ads。通常可以在 main() 函数中完成初始化:

import 'package:fat_ads/fat_ads.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  FatAds.initialize(
    appId: 'your_app_id',  // 替换为你的应用ID
    testMode: true,        // 测试模式下使用测试广告
  );
  runApp(MyApp());
}

3. 展示横幅广告

要展示横幅广告,可以使用 BannerAd 组件:

import 'package:flutter/material.dart';
import 'package:fat_ads/fat_ads.dart';

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('FatAds Example'),
      ),
      body: Column(
        children: [
          Expanded(
            child: Center(
              child: Text('Content goes here'),
            ),
          ),
          BannerAd(
            adUnitId: 'your_banner_ad_unit_id',  // 替换为你的横幅广告单元ID
            size: AdSize.banner,
            listener: (AdEvent event) {
              switch (event) {
                case AdEvent.loaded:
                  print('Banner Ad loaded');
                  break;
                case AdEvent.failedToLoad:
                  print('Banner Ad failed to load');
                  break;
                case AdEvent.opened:
                  print('Banner Ad opened');
                  break;
                case AdEvent.clicked:
                  print('Banner Ad clicked');
                  break;
                case AdEvent.closed:
                  print('Banner Ad closed');
                  break;
              }
            },
          ),
        ],
      ),
    );
  }
}

4. 展示插页广告

要展示插页广告,可以使用 InterstitialAd 类:

import 'package:fat_ads/fat_ads.dart';

void showInterstitialAd() {
  InterstitialAd.load(
    adUnitId: 'your_interstitial_ad_unit_id',  // 替换为你的插页广告单元ID
    listener: (AdEvent event) {
      switch (event) {
        case AdEvent.loaded:
          print('Interstitial Ad loaded');
          InterstitialAd.show();  // 展示插页广告
          break;
        case AdEvent.failedToLoad:
          print('Interstitial Ad failed to load');
          break;
        case AdEvent.opened:
          print('Interstitial Ad opened');
          break;
        case AdEvent.clicked:
          print('Interstitial Ad clicked');
          break;
        case AdEvent.closed:
          print('Interstitial Ad closed');
          break;
      }
    },
  );
}

5. 展示激励视频广告

要展示激励视频广告,可以使用 RewardedAd 类:

import 'package:fat_ads/fat_ads.dart';

void showRewardedAd() {
  RewardedAd.load(
    adUnitId: 'your_rewarded_ad_unit_id',  // 替换为你的激励视频广告单元ID
    listener: (AdEvent event, {RewardItem? reward}) {
      switch (event) {
        case AdEvent.loaded:
          print('Rewarded Ad loaded');
          RewardedAd.show();  // 展示激励视频广告
          break;
        case AdEvent.failedToLoad:
          print('Rewarded Ad failed to load');
          break;
        case AdEvent.opened:
          print('Rewarded Ad opened');
          break;
        case AdEvent.clicked:
          print('Rewarded Ad clicked');
          break;
        case AdEvent.closed:
          print('Rewarded Ad closed');
          break;
        case AdEvent.rewarded:
          print('Rewarded Ad rewarded with ${reward?.amount} ${reward?.type}');
          break;
      }
    },
  );
}
回到顶部