Flutter广告中介插件tapsell_mediation_unityads的使用

Flutter广告中介插件tapsell_mediation_unityads的使用


Flutter UnityAds Mediation Adapter

Pub.dev version Popularity Likes Flutter linter
Technical Support

tapsell_mediation_unityads #

UnityAds中介适配器

安装 #

flutter pub add tapsell_mediation_unityads

使用 #

在Flutter项目中使用tapsell_mediation_unityads插件时,需要初始化并加载广告。以下是一个完整的示例Demo,展示了如何在Flutter应用中集成和使用该插件。

初始化插件

首先,在项目的main.dart文件中进行插件初始化:

import 'package:flutter/material.dart';
import 'package:tapsell_mediation_unityads/tapsell_mediation_unityads.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> {
  // 初始化UnityAds中介插件
  final TapsellMediationUnityAds tapsellMediationUnityAds = TapsellMediationUnityAds();

  [@override](/user/override)
  void initState() {
    super.initState();
    
    // 初始化UnityAds插件
    tapsellMediationUnityAds.init(
      gameId: 'YOUR_GAME_ID', // 替换为你的游戏ID
      testMode: true, // 测试模式
    );
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('UnityAds Mediation Demo'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            // 加载广告
            tapsellMediationUnityAds.loadAd(
              adUnitId: 'YOUR_AD_UNIT_ID', // 替换为你的广告单元ID
              adType: AdType.interstitial, // 广告类型(插屏广告)
            ).then((isLoaded) {
              if (isLoaded) {
                // 广告加载成功后展示广告
                tapsellMediationUnityAds.showAd(
                  adUnitId: 'YOUR_AD_UNIT_ID', // 替换为你的广告单元ID
                  adType: AdType.interstitial, // 广告类型(插屏广告)
                );
              } else {
                print('广告加载失败');
              }
            }).catchError((error) {
              print('加载广告时发生错误: $error');
            });
          },
          child: Text('加载并展示广告'),
        ),
      ),
    );
  }
}

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

1 回复

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


tapsell_mediation_unityads 是一个用于 Flutter 的广告中介插件,它允许你在应用中集成 Unity Ads 并通过 Tapsell 广告平台进行中介。以下是如何使用 tapsell_mediation_unityads 插件的步骤:

1. 添加依赖

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

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

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

2. 初始化插件

在使用插件之前,你需要初始化它。通常,你可以在 main.dart 文件中进行初始化:

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 Tapsell Unity Ads 插件
  await TapsellMediationUnityAds.initialize(
    tapsellKey: 'YOUR_TAPSELL_KEY',
    unityAdsGameId: 'YOUR_UNITY_ADS_GAME_ID',
  );

  runApp(MyApp());
}

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

3. 加载广告

你可以使用 TapsellMediationUnityAds 来加载 Unity Ads 广告。例如,加载一个插屏广告:

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

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

class _MyHomePageState extends State<MyHomePage> {
  bool _isAdLoaded = false;

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

  void _loadAd() async {
    await TapsellMediationUnityAds.loadInterstitial(
      zoneId: 'YOUR_ZONE_ID',
    ).then((value) {
      setState(() {
        _isAdLoaded = value;
      });
    });
  }

  void _showAd() {
    if (_isAdLoaded) {
      TapsellMediationUnityAds.showInterstitial(
        zoneId: 'YOUR_ZONE_ID',
      ).then((value) {
        setState(() {
          _isAdLoaded = false;
        });
        _loadAd();
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Demo Home Page'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: _showAd,
          child: Text('Show Ad'),
        ),
      ),
    );
  }
}

4. 处理广告事件

你可以监听广告事件,例如广告加载成功、失败或用户关闭广告等:

TapsellMediationUnityAds.setInterstitialListener(
  onAdLoaded: (zoneId) {
    print('Interstitial Ad Loaded for zone: $zoneId');
  },
  onAdFailed: (zoneId, error) {
    print('Interstitial Ad Failed for zone: $zoneId with error: $error');
  },
  onAdClosed: (zoneId) {
    print('Interstitial Ad Closed for zone: $zoneId');
  },
);
回到顶部