Flutter广告中介插件tapsell_mediation_ironsource的使用

Flutter广告中介插件tapsell_mediation_ironsource的使用


Flutter IronSource Mediation Adapter

Pub version Popularity Likes Flutter linter
Technical Support

tapsell_mediation_ironsource #

IronSource中介适配器

安装 #

flutter pub add tapsell_mediation_ironsource

使用 #

此适配器无需特定实现。

许可 #

  • 查看LICENSE

Tapsell构建并维护。

完整示例Demo

以下是一个完整的示例,展示如何在Flutter应用中使用tapsell_mediation_ironsource插件。

步骤1: 添加依赖

pubspec.yaml文件中添加tapsell_mediation_ironsource依赖:

dependencies:
  tapsell_mediation_ironsource: ^版本号

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

步骤2: 初始化Tapsell SDK

在你的应用启动时初始化Tapsell SDK。这里假设你已经在Tapsell开发者门户上注册了应用,并获得了App Key。

import 'package:flutter/material.dart';
import 'package:tapsell_mediation_ironsource/tapsell_mediation_ironsource.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: Text('Loading ads...')),
      ),
    );
  }

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

  void initTapsell() async {
    try {
      await TapsellMediationIroneSource.init(appKey: 'YOUR_APP_KEY');
    } catch (e) {
      print('Failed to initialize Tapsell: $e');
    }
  }
}

步骤3: 显示广告

创建一个方法来请求和显示广告。

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

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

class _MyHomePageState extends State<MyHomePage> {
  String adUnitId = 'YOUR_AD_UNIT_ID'; // 替换为您的广告单元ID
  bool showAd = false;

  Future<void> loadInterstitialAd() async {
    try {
      final interstitialAd = await TapsellMediationIroneSource.loadInterstitial(adUnitId);
      if (interstitialAd != null) {
        setState(() {
          showAd = true;
        });
      }
    } catch (e) {
      print('Failed to load interstitial ad: $e');
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Tapsell Mediation Example')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: loadInterstitialAd,
              child: Text('Load Interstitial Ad'),
            ),
            if (showAd)
              ElevatedButton(
                onPressed: () {
                  TapsellMediationIroneSource.showInterstitial();
                },
                child: Text('Show Interstitial Ad'),
              ),
          ],
        ),
      ),
    );
  }
}

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

1 回复

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


tapsell_mediation_ironsource 是一个用于 Flutter 的广告中介插件,它允许开发者通过 Tapsell 平台集成 IronSource 广告中介服务。这个插件可以帮助开发者在应用中展示 IronSource 提供的广告,如插屏广告、激励视频广告等。

以下是使用 tapsell_mediation_ironsource 插件的基本步骤:

1. 添加依赖

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

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

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

2. 初始化插件

在应用的 main.dart 文件中初始化 tapsell_mediation_ironsource 插件。你需要在 main 函数中调用 initialize 方法,并传入从 Tapsell 平台获取的 App Key。

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 Tapsell Mediation IronSource 插件
  await TapsellMediationIronSource.initialize('YOUR_TAPSELL_APP_KEY');

  runApp(MyApp());
}

3. 展示广告

tapsell_mediation_ironsource 插件支持多种广告类型,以下是展示激励视频广告的示例:

3.1 激励视频广告

首先,加载激励视频广告:

void loadRewardedVideo() async {
  await TapsellMediationIronSource.loadRewardedVideo('YOUR_ZONE_ID');
}

然后,展示激励视频广告:

void showRewardedVideo() async {
  bool isAvailable = await TapsellMediationIronSource.isRewardedVideoAvailable();
  if (isAvailable) {
    await TapsellMediationIronSource.showRewardedVideo(
      onRewarded: (String placementName, int rewardAmount) {
        // 用户成功观看广告并获得奖励
        print('Rewarded: $placementName, Amount: $rewardAmount');
      },
      onClosed: () {
        // 广告关闭
        print('Rewarded video closed');
      },
      onFailed: (String error) {
        // 广告展示失败
        print('Rewarded video failed: $error');
      },
    );
  } else {
    print('Rewarded video not available');
  }
}

3.2 插屏广告

插屏广告的加载和展示方式类似:

void loadInterstitial() async {
  await TapsellMediationIronSource.loadInterstitial('YOUR_ZONE_ID');
}

void showInterstitial() async {
  bool isAvailable = await TapsellMediationIronSource.isInterstitialAvailable();
  if (isAvailable) {
    await TapsellMediationIronSource.showInterstitial(
      onClosed: () {
        // 广告关闭
        print('Interstitial closed');
      },
      onFailed: (String error) {
        // 广告展示失败
        print('Interstitial failed: $error');
      },
    );
  } else {
    print('Interstitial not available');
  }
}

4. 处理生命周期

StatefulWidget 中,你可以在 dispose 方法中释放广告资源:

[@override](/user/override)
void dispose() {
  TapsellMediationIronSource.dispose();
  super.dispose();
}
回到顶部