Flutter广告内容展示插件flutter_adcontent的使用

Flutter广告内容展示插件flutter_adcontent的使用

介绍

Flutter AdContent Pro 是一款优质的穿山甲内容输出插件,支持「短剧」和「小视频」,可加入激励视频、视频流广告、信息流广告等功能。

插件版本 支持平台

构建状态 GitHub星数 最新版本 官方网站

支持平台

  • 穿山甲-短剧
  • 穿山甲-小视频
  • 安卓
  • iOS

核心功能

  • 🎬 短剧
  • 📱 小视频
  • 🎮 广告变现
    • 激励视频广告
    • 信息流广告
    • 视频流广告
  • 🎉 独家支持:可作为Widget组件嵌入Flutter页面
  • 🎨 独家支持:可自定义UI样式,与业务完美契合
  • 📦 独家支持:广告事件回调全局打通

示例效果

短剧剧场 短剧滑滑流 短剧详情 激励解锁
推荐和所有 短剧分类 短剧搜素 观看历史
全屏模式 宫格模式 双列模式 广告展示

接入文档

Flutter广告系列插件(FlutterAds)

插件 描述
flutter_gromore_pro 🏆🏆🏆 帮你大幅提升广告收益,发挥出最大的用户价值
flutter_gromore_ads 字节跳动、穿山甲、GroMore 聚合 Flutter 广告开源版插件
flutter_pangle_ads 字节跳动、穿山甲 Flutter 广告插件
flutter_qq_ads 腾讯广告、广点通、优量汇 Flutter 广告插件
flutter_adspark 巨量广告/穿山甲的广告监测、增长分析、归因上报、事件管理 Flutter 版插件
flutter_adcontent 穿山甲内容输出 Flutter 版插件,支持短剧和小视频

示例代码

以下是一个简单的示例代码,展示了如何在Flutter应用中集成flutter_adcontent插件:

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

import 'package:flutter/services.dart';
import 'package:flutter_adcontent/flutter_adcontent.dart';

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

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _platformVersion = 'Unknown';

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

  // Platform messages are asynchronous, so we initialize in an async method.
  Future<void> initPlatformState() async {
    String platformVersion;
    // Platform messages may fail, so we use a try/catch PlatformException.
    // We also handle the message potentially returning null.
    try {
      platformVersion =
          await FlutterAdcontent.platformVersion ?? 'Unknown platform version';
    } on PlatformException {
      platformVersion = 'Failed to get platform version.';
    }

    // If the widget was removed from the tree while the asynchronous platform
    // message was in flight, we want to discard the reply rather than calling
    // setState to update our non-existent appearance.
    if (!mounted) return;

    setState(() {
      _platformVersion = platformVersion;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
          child: Text('Running on: $_platformVersion\n'),
        ),
      ),
    );
  }
}

代码解释

  1. 导入必要的包

    import 'package:flutter/material.dart';
    import 'dart:async';
    
    import 'package:flutter/services.dart';
    import 'package:flutter_adcontent/flutter_adcontent.dart';
    
  2. 初始化应用

    void main() {
      runApp(const MyApp());
    }
    
  3. 创建应用主类

    class MyApp extends StatefulWidget {
      const MyApp({Key? key}) : super(key: key);
    
      @override
      State<MyApp> createState() => _MyAppState();
    }
    
  4. 实现状态管理类

    class _MyAppState extends State<MyApp> {
      String _platformVersion = 'Unknown';
    
      @override
      void initState() {
        super.initState();
        initPlatformState();
      }
    
      // 异步方法初始化平台状态
      Future<void> initPlatformState() async {
        String platformVersion;
        try {
          platformVersion = await FlutterAdcontent.platformVersion ?? 'Unknown platform version';
        } on PlatformException {
          platformVersion = 'Failed to get platform version.';
        }
    
        if (!mounted) return;
    
        setState(() {
          _platformVersion = platformVersion;
        });
      }
    
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          home: Scaffold(
            appBar: AppBar(
              title: const Text('Plugin example app'),
            ),
            body: Center(
              child: Text('Running on: $_platformVersion\n'),
            ),
          ),
        );
      }
    }
    

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

1 回复

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


flutter_adcontent 是一个用于在 Flutter 应用中展示广告内容的插件。通过这个插件,开发者可以轻松地在应用中集成广告展示功能。

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  flutter_adcontent: latest_version

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

2. 导入插件

在你的 Dart 文件中导入 flutter_adcontent 插件:

import 'package:flutter_adcontent/flutter_adcontent.dart';

3. 初始化广告插件

在展示广告之前,通常需要初始化广告插件。你可以在应用的 main 函数或 initState 中完成初始化:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await FlutterAdcontent.initialize();
  runApp(MyApp());
}

4. 展示广告

你可以使用 AdContentWidget 来展示广告内容。以下是一个简单的示例:

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter AdContent Example'),
      ),
      body: Center(
        child: AdContentWidget(
          adUnitId: 'your_ad_unit_id', // 替换为你的广告单元ID
          adSize: AdSize.banner,
          onAdLoaded: () {
            print('Ad loaded successfully');
          },
          onAdFailedToLoad: (error) {
            print('Failed to load ad: $error');
          },
        ),
      ),
    );
  }
}

5. 处理广告事件

AdContentWidget 提供了一些回调函数,用于处理广告加载成功或失败的事件:

  • onAdLoaded: 当广告成功加载时调用。
  • onAdFailedToLoad: 当广告加载失败时调用,会传入一个错误信息。

6. 广告尺寸

你可以通过 AdSize 来指定广告的尺寸,例如:

  • AdSize.banner: 标准横幅广告尺寸。
  • AdSize.mediumRectangle: 中等矩形广告尺寸。
  • AdSize.fullBanner: 全尺寸横幅广告。
  • AdSize.leaderboard: 大横幅广告。
  • AdSize.smartBanner: 智能横幅广告,根据设备屏幕宽度自动调整尺寸。

7. 调试和测试

在开发过程中,你可以使用测试广告单元ID来测试广告展示功能。例如:

adUnitId: 'ca-app-pub-3940256099942544/6300978111',
回到顶部