Flutter广告中介插件tapsell_mediation_fyber的使用

Flutter广告中介插件tapsell_mediation_fyber的使用


Flutter Fyber (Digital Turbine Exchange) Mediation Adapter

Pub version Popularity Likes Flutter linter
Technical Support

tapsell_mediation_fyber #

Fyber (Digital Turbine Exchange) mediation adapter

安装 #

flutter pub add tapsell_mediation_fyber

使用 #

在您的Flutter项目中使用此适配器时,无需特定的实现步骤。只需确保已正确配置了其他必要的依赖项,并按照以下示例进行初始化。

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

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

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

class _MyAppState extends State<MyApp> {
  String _adUnitId = "YOUR_AD_UNIT_ID"; // 替换为您的广告单元ID
  bool _isAdLoaded = false;

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

  void initializeTapsell() async {
    await TapsellMediationFyber.initialize(
      placementId: "YOUR_PLACEMENT_ID", // 替换为您的placement ID
      adUnitId: _adUnitId,
    );
  }

  void loadAd() async {
    await TapsellMediationFyber.loadAd(
      placementId: "YOUR_PLACEMENT_ID", // 替换为您的placement ID
      adUnitId: _adUnitId,
    );

    setState(() {
      _isAdLoaded = true;
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Tapsell Mediation Fyber Demo'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              ElevatedButton(
                onPressed: () {
                  loadAd();
                },
                child: const Text('加载广告'),
              ),
              if (_isAdLoaded)
                Container(
                  width: 300,
                  height: 200,
                  color: Colors.grey[300],
                  child: const Center(child: Text('广告展示区域')),
                )
            ],
          ),
        ),
      ),
    );
  }
}

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

1 回复

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


tapsell_mediation_fyber 是一个用于 Flutter 的广告中介插件,它允许开发者在应用中集成来自 TapsellFyber 的广告。通过使用这个插件,开发者可以轻松地在应用中展示横幅广告、插页式广告、激励视频广告等。

以下是如何使用 tapsell_mediation_fyber 插件的基本步骤:

1. 添加依赖

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

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

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

2. 初始化插件

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

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 Tapsell Mediation Fyber 插件
  await TapsellMediationFyber.initialize(
    tapsellAppKey: 'YOUR_TAPSELL_APP_KEY',
    fyberAppId: 'YOUR_FYBER_APP_ID',
    fyberSecurityToken: 'YOUR_FYBER_SECURITY_TOKEN',
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Tapsell Fyber Demo',
      home: HomeScreen(),
    );
  }
}

3. 展示广告

你可以使用插件提供的 API 来展示不同类型的广告。以下是一些常见的广告类型示例:

横幅广告

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

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

class _BannerAdScreenState extends State<BannerAdScreen> {
  late BannerAd _bannerAd;

  [@override](/user/override)
  void initState() {
    super.initState();
    _bannerAd = BannerAd(
      adUnitId: 'YOUR_BANNER_AD_UNIT_ID',
      size: AdSize.banner,
      listener: BannerAdListener(
        onAdLoaded: (Ad ad) => print('Ad loaded.'),
        onAdFailedToLoad: (Ad ad, LoadAdError error) {
          ad.dispose();
          print('Ad failed to load: $error');
        },
        onAdOpened: (Ad ad) => print('Ad opened.'),
        onAdClosed: (Ad ad) => print('Ad closed.'),
      ),
    );

    _bannerAd.load();
  }

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

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

插页式广告

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

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

class _InterstitialAdScreenState extends State<InterstitialAdScreen> {
  InterstitialAd? _interstitialAd;

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

  void _loadInterstitialAd() {
    InterstitialAd.load(
      adUnitId: 'YOUR_INTERSTITIAL_AD_UNIT_ID',
      request: AdRequest(),
      adLoadCallback: InterstitialAdLoadCallback(
        onAdLoaded: (InterstitialAd ad) {
          _interstitialAd = ad;
          _interstitialAd?.setFullScreenContentCallback(
            FullScreenContentCallback(
              onAdDismissedFullScreenContent: (InterstitialAd ad) {
                ad.dispose();
                _loadInterstitialAd();
              },
              onAdFailedToShowFullScreenContent: (InterstitialAd ad, AdError error) {
                ad.dispose();
                _loadInterstitialAd();
              },
            ),
          );
        },
        onAdFailedToLoad: (LoadAdError error) {
          print('InterstitialAd failed to load: $error');
        },
      ),
    );
  }

  void _showInterstitialAd() {
    if (_interstitialAd != null) {
      _interstitialAd?.show();
    } else {
      print('InterstitialAd is not ready yet.');
    }
  }

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

激励视频广告

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

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

class _RewardedAdScreenState extends State<RewardedAdScreen> {
  RewardedAd? _rewardedAd;

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

  void _loadRewardedAd() {
    RewardedAd.load(
      adUnitId: 'YOUR_REWARDED_AD_UNIT_ID',
      request: AdRequest(),
      rewardedAdLoadCallback: RewardedAdLoadCallback(
        onAdLoaded: (RewardedAd ad) {
          _rewardedAd = ad;
          _rewardedAd?.setFullScreenContentCallback(
            FullScreenContentCallback(
              onAdDismissedFullScreenContent: (RewardedAd ad) {
                ad.dispose();
                _loadRewardedAd();
              },
              onAdFailedToShowFullScreenContent: (RewardedAd ad, AdError error) {
                ad.dispose();
                _loadRewardedAd();
              },
            ),
          );
        },
        onAdFailedToLoad: (LoadAdError error) {
          print('RewardedAd 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('RewardedAd is not ready yet.');
    }
  }

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