Flutter广告中介管理插件tapsell_mediation的使用

发布于 1周前 作者 yuanlaile 来自 Flutter

Flutter广告中介管理插件tapsell_mediation的使用


Flutter Tapsell Mediation Adapter

Pub.dev version Popularity Likes Flutter linter
Technical Support

tapsell_mediation #

Tapsell中介插件

安装 #

flutter pub add tapsell_mediation

使用 #

在您的 main.dart 文件中,您需要初始化 TapsellMediation 插件。以下是一个完整的示例代码,展示了如何使用 tapsell_mediation 插件。

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Tapsell Mediation Example'),
        ),
        body: Center(
          child: BannerAdWidget(),
        ),
      ),
    );
  }
}

class BannerAdWidget extends StatefulWidget {
  [@override](/user/override)
  _BannerAdWidgetState createState() => _BannerAdWidgetWidget();
}

class _BannerAdWidgetWidget extends State<BannerAdWidget> {
  late BannerAd bannerAd;

  [@override](/user/override)
  void initState() {
    super.initState();

    // 初始化 Tapsell SDK
    Tapsell.init("YOUR_TAPSELL_APP_ID");

    // 创建一个 Banner 广告
    bannerAd = BannerAd(
      adUnitId: "YOUR_BANNER_AD_UNIT_ID",
      listener: (event, args) {
        if (event == BannerAdEvent.loaded) {
          setState(() {
            bannerAd.show();
          });
        } else if (event == BannerAdEvent.error) {
          print("Banner Ad Error: ${args['message']}");
        }
      },
    );

    // 加载 Banner 广告
    bannerAd.load();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Container(
      child: bannerAd,
    );
  }
}

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

1 回复

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


当然,下面是一个关于如何在Flutter项目中使用tapsell_mediation插件的示例代码案例。这个示例将展示如何集成和使用广告中介管理插件来显示广告。

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  tapsell_mediation: ^latest_version  # 替换为最新版本号

2. 导入插件

在你的Dart文件中导入tapsell_mediation插件。

import 'package:tapsell_mediation/tapsell_mediation.dart';

3. 初始化插件

在应用启动时初始化tapsell_mediation插件。通常在main.dartMyApp类中完成。

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化广告中介插件
  TapsellMediation.instance.init(
    appId: 'YOUR_APP_ID',  // 替换为你的应用ID
    adsConfig: [
      // 配置广告源,例如AdMob, Facebook等
      AdsConfig(
        network: AdsNetwork.admob,
        appId: 'YOUR_ADMOB_APP_ID',  // 替换为你的AdMob应用ID
        adUnitId: 'YOUR_ADMOB_AD_UNIT_ID',  // 替换为你的AdMob广告单元ID
      ),
      // 可以添加更多广告源配置
    ],
  );

  runApp(MyApp());
}

4. 显示广告

在你的页面或组件中显示广告。例如,在一个按钮点击事件中显示横幅广告或插屏广告。

import 'package:flutter/material.dart';

class MyAdPage extends StatefulWidget {
  @override
  _MyAdPageState createState() => _MyAdPageState();
}

class _MyAdPageState extends State<MyAdPage> {
  BannerAd? _bannerAd;
  InterstitialAd? _interstitialAd;

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

    // 创建横幅广告
    _bannerAd = BannerAd(
      adUnitId: 'YOUR_BANNER_AD_UNIT_ID',  // 替换为你的横幅广告单元ID
      adSize: AdSize.banner,
      listener: BannerAdListener(
        onAdLoaded: () {
          print('Banner Ad Loaded');
        },
        onAdFailedToLoad: (AdError error) {
          print('Banner Ad Failed to Load: ${error.message}');
        },
        onAdOpened: () {
          print('Banner Ad Opened');
        },
        onAdClosed: () {
          print('Banner Ad Closed');
          _bannerAd?.dispose();
        },
      ),
    );

    // 创建插屏广告
    _interstitialAd = InterstitialAd(
      adUnitId: 'YOUR_INTERSTITIAL_AD_UNIT_ID',  // 替换为你的插屏广告单元ID
      listener: InterstitialAdListener(
        onAdLoaded: () {
          print('Interstitial Ad Loaded');
        },
        onAdFailedToLoad: (AdError error) {
          print('Interstitial Ad Failed to Load: ${error.message}');
        },
        onAdOpened: () {
          print('Interstitial Ad Opened');
        },
        onAdClosed: () {
          print('Interstitial Ad Closed');
          _interstitialAd?.dispose();
        },
      ),
    );

    // 加载广告
    _bannerAd?.load();
    _interstitialAd?.load();
  }

  @override
  void dispose() {
    _bannerAd?.dispose();
    _interstitialAd?.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Ad Mediation Example'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            // 显示横幅广告
            Container(
              height: AdSize.banner.height,
              child: AdWidget(ad: _bannerAd!),
            ),
            SizedBox(height: 20),
            // 显示插屏广告的按钮
            ElevatedButton(
              onPressed: () {
                _interstitialAd?.show();
              },
              child: Text('Show Interstitial Ad'),
            ),
          ],
        ),
      ),
    );
  }
}

注意事项

  1. 广告单元ID:确保你替换了所有的广告单元ID为你的实际ID。
  2. 错误处理:在实际应用中,你应该添加更多的错误处理逻辑,以应对不同的广告加载失败情况。
  3. 隐私政策:确保你的应用有适当的隐私政策,并且用户同意接收广告。

这个示例展示了如何在Flutter应用中使用tapsell_mediation插件来管理和显示广告。你可以根据需要进一步自定义和扩展这个示例。

回到顶部