Flutter广告展示插件multi_ads_inapp_module的使用

multi_ads_inapp_module

multi_ads_inapp_module 是一个用于在 Flutter 应用中展示广告的插件。本文将演示如何使用该插件。

开始使用

1. 添加依赖

首先,在你的 pubspec.yaml 文件中添加 multi_ads_inapp_module 作为依赖项:

dependencies:
  flutter:
    sdk: flutter
  multi_ads_inapp_module: ^1.0.0 # 请替换为最新版本号

然后运行 flutter pub get 来获取依赖项。

2. 初始化插件

在应用启动时初始化插件。通常在 main.dart 文件中进行初始化:

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

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    MultiAdsInappModule.init(); // 初始化插件
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
          child: Text('Hello World!'),
        ),
      ),
    );
  }
}

3. 展示广告

在需要展示广告的地方调用插件的方法。例如,在一个按钮点击事件中展示广告:

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

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  Future<void> showInterstitialAd() async {
    try {
      await MultiAdsInappModule.showInterstitialAd(); // 展示插屏广告
    } catch (e) {
      print("Error showing interstitial ad: $e");
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Plugin example app'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: showInterstitialAd,
          child: Text('Show Interstitial Ad'),
        ),
      ),
    );
  }
}

4. 完整示例

以下是完整的示例代码,展示了如何初始化插件并在点击按钮时展示插屏广告:

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

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    MultiAdsInappModule.init(); // 初始化插件
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  Future<void> showInterstitialAd() async {
    try {
      await MultiAdsInappModule.showInterstitialAd(); // 展示插屏广告
    } catch (e) {
      print("Error showing interstitial ad: $e");
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Plugin example app'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: showInterstitialAd,
          child: Text('Show Interstitial Ad'),
        ),
      ),
    );
  }
}

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

1 回复

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


multi_ads_inapp_module 是一个用于在Flutter应用中展示多种广告的插件。它支持展示多种广告类型,如横幅广告、插页式广告、激励视频广告等。以下是如何使用这个插件的基本步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 multi_ads_inapp_module 依赖:

dependencies:
  flutter:
    sdk: flutter
  multi_ads_inapp_module: ^latest_version

然后运行 flutter pub get 来安装依赖。

2. 初始化广告模块

在你的Flutter应用中初始化广告模块。通常这一步会在 main.dart 文件中完成。

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await MultiAdsInAppModule.initialize(
    adNetworks: [
      AdNetwork.admob,
      AdNetwork.facebook,
      // 添加其他广告网络
    ],
    admobAppId: 'your_admob_app_id',
    facebookAppId: 'your_facebook_app_id',
    // 其他广告网络的配置
  );
  runApp(MyApp());
}

3. 展示横幅广告

要展示横幅广告,可以在你的页面中添加 BannerAdWidget

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

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Multi Ads Example'),
      ),
      body: Column(
        children: [
          Expanded(
            child: Center(
              child: Text('Main Content'),
            ),
          ),
          BannerAdWidget(
            adSize: AdSize.banner,
            adNetwork: AdNetwork.admob,
            adUnitId: 'your_admob_banner_ad_unit_id',
          ),
        ],
      ),
    );
  }
}

4. 展示插页式广告

要展示插页式广告,可以在适当的时机调用 showInterstitialAd 方法:

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

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Multi Ads Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            await MultiAdsInAppModule.showInterstitialAd(
              adNetwork: AdNetwork.admob,
              adUnitId: 'your_admob_interstitial_ad_unit_id',
            );
          },
          child: Text('Show Interstitial Ad'),
        ),
      ),
    );
  }
}

5. 展示激励视频广告

要展示激励视频广告,可以在适当的时机调用 showRewardedAd 方法:

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

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Multi Ads Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            await MultiAdsInAppModule.showRewardedAd(
              adNetwork: AdNetwork.admob,
              adUnitId: 'your_admob_rewarded_ad_unit_id',
              onRewarded: (reward) {
                // 处理奖励逻辑
                print('Reward: $reward');
              },
            );
          },
          child: Text('Show Rewarded Ad'),
        ),
      ),
    );
  }
}

6. 处理广告生命周期

确保在应用的生命周期中正确处理广告的加载和释放。例如,在 dispose 方法中释放广告资源。

class MyHomePage extends StatefulWidget {
  [@override](/user/override)
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  [@override](/user/override)
  void dispose() {
    MultiAdsInAppModule.dispose();
    super.dispose();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    // Your UI code here
  }
}
回到顶部