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

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

Google Mobile Ads Mediation of Liftoff Monetize for Flutter

Google Mobile Ads Mediation 插件允许Flutter应用程序通过Google Mobile Ads SDK中介Liftoff Monetize广告网络。以下是关于如何使用gma_mediation_liftoffmonetize插件的指南。

文档

要了解如何与google_mobile_ads插件一起使用,请参考官方开发者指南

下载

访问pub.dev以获取该插件的最新版本。

提出改进建议

如果您想提交错误报告、功能请求或提出其他改进建议,可以使用GitHub的问题追踪器

其他资源

许可证

本项目遵循Apache 2.0许可证


示例代码

下面是一个简单的示例演示了如何在Flutter应用中集成和初始化gma_mediation_liftoffmonetize插件的基本框架。请注意,这只是一个基础模板,你需要根据自己的需求添加具体的广告加载和展示逻辑。

import 'package:flutter/material.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart'; // 确保已添加依赖
// 导入liftoffmonetize的包
// import 'package:gma_mediation_liftoffmonetize/gma_mediation_liftoffmonetize.dart';

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

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

  [@override](/user/override)
  void initState() {
    super.initState();
    // 初始化Mobile Ads SDK
    MobileAds.instance.initialize();
    
    // 可选:配置Liftoff Monetize中介设置
    // 这里需要根据Liftoff Monetize的具体要求进行配置
    // 例如:设置中介ID等
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: const Center(
          child: Text('Test app - Ad will be shown here'),
        ),
      ),
    );
  }
}

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

1 回复

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


当然,下面是一个关于如何在Flutter项目中集成和使用gma_mediation_liftoffmonetize插件的示例代码。这个插件允许你在Flutter应用中通过Google Mobile Ads中介(Mediation)集成Liftoff Monetize广告网络。

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  google_mobile_ads: ^x.y.z  # 请替换为最新版本号
  gma_mediation_liftoffmonetize: ^a.b.c  # 请替换为最新版本号

运行flutter pub get来获取这些依赖。

2. 初始化Google Mobile Ads

在你的main.dart文件中,你需要初始化Google Mobile Ads SDK,并配置中介设置。

import 'package:flutter/material.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:gma_mediation_liftoffmonetize/gma_mediation_liftoffmonetize.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  MobileAds.instance.initialize();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: AdExample(),
    );
  }
}

class AdExample extends StatefulWidget {
  @override
  _AdExampleState createState() => _AdExampleState();
}

class _AdExampleState extends State<AdExample> {
  BannerAd? _bannerAd;
  InterstitialAd? _interstitialAd;

  @override
  void initState() {
    super.initState();
    _createBannerAd();
    _createInterstitialAd();
  }

  void _createBannerAd() {
    _bannerAd = BannerAd(
      adUnitId: 'ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx', // 替换为你的Ad Unit ID
      size: AdSize.banner,
      request: AdRequest(
        targetingInfo: MobileAdTargetingInfo(
          keywords: <String>['foo', 'bar'],
          contentUrl: 'http://www.example.com',
          childDirected: false,
          testDevices: <String>[], // 添加测试设备ID
        ),
        mediationSettings: MediationSettings(
          mediationAdapters: [
            MediationAdapter(
              adapterClass: 'com.google.ads.mediation.liftoff.LiftoffMediationAdapter',
              additionalParameters: {
                'lt_placement_id': 'your_liftoff_placement_id', // 替换为你的Liftoff Placement ID
                // 其他可选参数
              },
            ),
          ],
        ),
      ),
      listener: BannerAdListener(
        onAdLoaded: (_) {
          _bannerAd?.show(
            anchorType: AnchorType.bottom,
          );
        },
        onAdFailedToLoad: (AdLoadFailedEvent event) {
          print('BannerAd failed to load: ${event.message}');
        },
      ),
    );

    _bannerAd?.load();
  }

  void _createInterstitialAd() {
    _interstitialAd = InterstitialAd(
      adUnitId: 'ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx', // 替换为你的Ad Unit ID
      request: AdRequest(
        targetingInfo: MobileAdTargetingInfo(
          keywords: <String>['foo', 'bar'],
          contentUrl: 'http://www.example.com',
          childDirected: false,
          testDevices: <String>[], // 添加测试设备ID
        ),
        mediationSettings: MediationSettings(
          mediationAdapters: [
            MediationAdapter(
              adapterClass: 'com.google.ads.mediation.liftoff.LiftoffMediationAdapter',
              additionalParameters: {
                'lt_placement_id': 'your_liftoff_placement_id', // 替换为你的Liftoff Placement ID
                // 其他可选参数
              },
            ),
          ],
        ),
      ),
      listener: InterstitialAdListener(
        onAdLoaded: (_) {
          _interstitialAd?.show();
        },
        onAdFailedToLoad: (AdLoadFailedEvent event) {
          print('InterstitialAd failed to load: ${event.message}');
        },
      ),
    );

    _interstitialAd?.load();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Ad Mediation Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            _interstitialAd?.load();
          },
          child: Text('Load Interstitial Ad'),
        ),
      ),
    );
  }
}

注意事项

  1. Ad Unit ID:确保你替换了示例代码中的adUnitIdlt_placement_id为你的实际Ad Unit ID和Liftoff Placement ID。
  2. 测试设备ID:在开发阶段,添加你的测试设备ID到testDevices列表中,以避免真实的广告请求。
  3. 依赖版本:确保你使用的是最新版本的google_mobile_adsgma_mediation_liftoffmonetize插件。

这个示例代码展示了如何在Flutter应用中通过Google Mobile Ads中介集成Liftoff Monetize广告网络,并加载展示横幅广告和插屏广告。根据实际需求,你可以进一步调整和完善代码。

回到顶部