Flutter广告中介插件tapsell_mediation_admob的使用

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

Flutter广告中介插件tapsell_mediation_admob的使用


Flutter Admob Mediation Adapter

Pub version Popularity Likes Flutter linter
Technical Support

tapsell_mediation_admob

Admob中介适配器

安装

pubspec.yaml 文件中添加以下依赖项:

flutter pub add tapsell_mediation_admob

使用

该插件无需特定实现即可直接使用。以下是一个完整的示例代码,展示如何集成和使用 tapsell_mediation_admob 插件。

示例代码

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomePage(),
    );
  }
}

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

class _HomePageState extends State<HomePage> {
  String adMessage = "点击按钮加载广告";

  [@override](/user/override)
  void initState() {
    super.initState();
    // 初始化广告插件
    TapsellMediationAdMob.initialize("YOUR_AD_UNIT_ID");
  }

  Future<void> loadAndShowAd() async {
    try {
      // 加载广告
      final adResponse = await TapsellMediationAdMob.loadAd();

      // 检查是否成功加载广告
      if (adResponse.success) {
        setState(() {
          adMessage = "广告已加载成功!";
        });
      } else {
        setState(() {
          adMessage = "广告加载失败:${adResponse.errorMessage}";
        });
      }
    } catch (e) {
      setState(() {
        adMessage = "发生错误:$e";
      });
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Flutter Admob Mediation Example"),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: loadAndShowAd,
              child: Text("加载广告"),
            ),
            SizedBox(height: 20),
            Text(adMessage),
          ],
        ),
      ),
    );
  }
}

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

1 回复

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


tapsell_mediation_admob 是一个用于在 Flutter 应用中集成 Tapsell 和 AdMob 广告中介的插件。它允许你通过 AdMob 中介平台来展示 Tapsell 广告。以下是如何使用 tapsell_mediation_admob 插件的详细步骤:

1. 添加依赖

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

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

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

2. 初始化插件

在你的 Flutter 应用中初始化 tapsell_mediation_admob 插件。通常,你可以在 main.dart 文件中进行初始化:

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 Tapsell Mediation AdMob
  await TapsellMediationAdmob.initialize(
    tapsellAppKey: 'YOUR_TAPSELL_APP_KEY',
    admobAppId: 'YOUR_ADMOB_APP_ID',
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

3. 加载和展示广告

你可以使用 tapsell_mediation_admob 插件来加载和展示不同类型的广告,例如横幅广告、插页式广告和激励视频广告。

横幅广告

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

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

class _BannerAdExampleState extends State<BannerAdExample> {
  BannerAd? _bannerAd;

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

  void _loadBannerAd() {
    _bannerAd = BannerAd(
      adUnitId: 'YOUR_ADMOB_BANNER_AD_UNIT_ID',
      size: AdSize.banner,
      request: AdRequest(),
      listener: BannerAdListener(
        onAdLoaded: (Ad ad) {
          print('Banner ad loaded.');
        },
        onAdFailedToLoad: (Ad ad, LoadAdError error) {
          print('Banner ad failed to load: $error');
        },
      ),
    )..load();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Banner Ad Example'),
      ),
      body: Center(
        child: _bannerAd != null
            ? AdWidget(ad: _bannerAd!)
            : Text('Loading banner ad...'),
      ),
    );
  }

  [@override](/user/override)
  void dispose() {
    _bannerAd?.dispose();
    super.dispose();
  }
}

插页式广告

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

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

class _InterstitialAdExampleState extends State<InterstitialAdExample> {
  InterstitialAd? _interstitialAd;

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

  void _loadInterstitialAd() {
    InterstitialAd.load(
      adUnitId: 'YOUR_ADMOB_INTERSTITIAL_AD_UNIT_ID',
      request: AdRequest(),
      adLoadCallback: InterstitialAdLoadCallback(
        onAdLoaded: (InterstitialAd ad) {
          _interstitialAd = ad;
          _interstitialAd?.show();
        },
        onAdFailedToLoad: (LoadAdError error) {
          print('Interstitial ad failed to load: $error');
        },
      ),
    );
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Interstitial Ad Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            if (_interstitialAd != null) {
              _interstitialAd?.show();
            } else {
              print('Interstitial ad is not ready yet.');
            }
          },
          child: Text('Show Interstitial Ad'),
        ),
      ),
    );
  }

  [@override](/user/override)
  void dispose() {
    _interstitialAd?.dispose();
    super.dispose();
  }
}

激励视频广告

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

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

class _RewardedAdExampleState extends State<RewardedAdExample> {
  RewardedAd? _rewardedAd;

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

  void _loadRewardedAd() {
    RewardedAd.load(
      adUnitId: 'YOUR_ADMOB_REWARDED_AD_UNIT_ID',
      request: AdRequest(),
      rewardedAdLoadCallback: RewardedAdLoadCallback(
        onAdLoaded: (RewardedAd ad) {
          _rewardedAd = ad;
        },
        onAdFailedToLoad: (LoadAdError error) {
          print('Rewarded ad failed to load: $error');
        },
      ),
    );
  }

  void _showRewardedAd() {
    if (_rewardedAd != null) {
      _rewardedAd?.show(
        onUserEarnedReward: (RewardedAd ad, RewardItem reward) {
          print('User earned reward: ${reward.amount} ${reward.type}');
        },
      );
    } else {
      print('Rewarded ad is not ready yet.');
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Rewarded Ad Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: _showRewardedAd,
          child: Text('Show Rewarded Ad'),
        ),
      ),
    );
  }

  [@override](/user/override)
  void dispose() {
    _rewardedAd?.dispose();
    super.dispose();
  }
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!