Flutter广告集成插件aorun_ad的使用

Flutter广告集成插件aorun_ad的使用

aorun_ad

A new Flutter Ad Plugin.

使用步骤

1. 添加依赖

pubspec.yaml文件中添加aorun_ad插件依赖:

dependencies:
  aorun_ad: ^版本号

然后执行以下命令以安装依赖:

flutter pub get

2. 初始化插件

main.dart文件中初始化插件并展示广告。

示例代码
import 'package:flutter/material.dart';
import 'dart:async';

import 'package:flutter/services.dart';
import 'package:aorun_ad/aorun_ad.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> {
  String _platformVersion = 'Unknown';
  final _aorunAdPlugin = AorunAd();

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

  // 平台消息是异步的,因此我们通过异步方法进行初始化。
  Future<void> initPlatformState() async {
    String platformVersion;
    // 平台消息可能会失败,所以我们使用try/catch来捕获PlatformException。
    // 我们还处理了消息可能返回null的情况。
    try {
      platformVersion =
          await _aorunAdPlugin.getPlatformVersion() ?? 'Unknown platform version';
    } on PlatformException {
      platformVersion = 'Failed to get platform version.';
    }

    // 如果小部件从树中被移除时异步平台消息仍在飞行中,我们希望丢弃回复而不是调用setState来更新我们的非存在的外观。
    if (!mounted) return;

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

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('插件示例应用'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              ElevatedButton(
                child: Text('激励视频广告(进阶)'),
                onPressed: () {
                  showRewardVideoAd2();
                  print("激励视频广告");
                },
              ),
              ElevatedButton(
                child: Text('插屏广告(进阶)'),
                onPressed: () {
                  showChaPingAd();
                  print("插屏广告");
                },
              ),
            ],
          ),
        ),
      ),
    );
  }

  /// 展示激励视频广告(进阶)
  Future<void> showRewardVideoAd2() async {
    try {
      String result = (await _aorunAdPlugin.showRewardVideoAd2()) as String;
      print("result" + result);
      print("3333");
    } on PlatformException catch (e) {
      print("调用广告错误");
    }
  }

  /// 展示插屏广告(进阶)
  Future<void> showChaPingAd() async {
    try {
      _aorunAdPlugin.showChaPingAd();
    } on PlatformException catch (e) {
      print("调用广告错误");
    }
  }
}

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

1 回复

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


aorun_ad 是一个用于 Flutter 应用的广告集成插件,它可以帮助开发者在应用中轻松集成广告,如横幅广告、插页式广告、激励视频广告等。以下是如何使用 aorun_ad 插件的基本步骤:

1. 添加依赖

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

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

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

2. 初始化插件

在你的应用启动时,你需要初始化 aorun_ad 插件。通常可以在 main.dart 文件中的 main 函数中进行初始化。

import 'package:aorun_ad/aorun_ad.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 aorun_ad
  await AorunAd.initialize(
    appId: 'your_app_id',  // 替换为你的应用ID
  );

  runApp(MyApp());
}

3. 显示横幅广告

横幅广告通常显示在屏幕的顶部或底部。你可以使用 BannerAd 组件来显示横幅广告。

import 'package:aorun_ad/aorun_ad.dart';

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Ad Example'),
      ),
      body: Column(
        children: [
          Expanded(
            child: Center(
              child: Text('Hello, World!'),
            ),
          ),
          BannerAd(
            adUnitId: 'your_banner_ad_unit_id',  // 替换为你的横幅广告单元ID
            size: AdSize.banner,
            listener: (AdEvent event) {
              // 处理广告事件
            },
          ),
        ],
      ),
    );
  }
}

4. 显示插页式广告

插页式广告通常在应用的自然过渡点显示,例如在页面切换时。你可以使用 InterstitialAd 来显示插页式广告。

import 'package:aorun_ad/aorun_ad.dart';

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

class _MyHomePageState extends State<MyHomePage> {
  InterstitialAd _interstitialAd;

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

  void _loadInterstitialAd() {
    InterstitialAd.load(
      adUnitId: 'your_interstitial_ad_unit_id',  // 替换为你的插页式广告单元ID
      request: AdRequest(),
      adLoadCallback: InterstitialAdLoadCallback(
        onAdLoaded: (InterstitialAd ad) {
          setState(() {
            _interstitialAd = ad;
          });
        },
        onAdFailedToLoad: (LoadAdError error) {
          print('InterstitialAd failed to load: $error');
        },
      ),
    );
  }

  void _showInterstitialAd() {
    if (_interstitialAd != null) {
      _interstitialAd.show();
    }
  }

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

  @override
  void dispose() {
    _interstitialAd?.dispose();
    super.dispose();
  }
}

5. 显示激励视频广告

激励视频广告通常用于奖励用户观看广告。你可以使用 RewardedAd 来显示激励视频广告。

import 'package:aorun_ad/aorun_ad.dart';

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

class _MyHomePageState extends State<MyHomePage> {
  RewardedAd _rewardedAd;

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

  void _loadRewardedAd() {
    RewardedAd.load(
      adUnitId: 'your_rewarded_ad_unit_id',  // 替换为你的激励视频广告单元ID
      request: AdRequest(),
      rewardedAdLoadCallback: RewardedAdLoadCallback(
        onAdLoaded: (RewardedAd ad) {
          setState(() {
            _rewardedAd = ad;
          });
        },
        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}');
        },
      );
    }
  }

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

  @override
  void dispose() {
    _rewardedAd?.dispose();
    super.dispose();
  }
}

6. 处理广告事件

你可以在广告的 listener 回调中处理广告事件,例如广告加载成功、失败、点击等。

BannerAd(
  adUnitId: 'your_banner_ad_unit_id',
  size: AdSize.banner,
  listener: (AdEvent event) {
    switch (event) {
      case AdEvent.loaded:
        print('Ad loaded.');
        break;
      case AdEvent.failedToLoad:
        print('Ad failed to load.');
        break;
      case AdEvent.opened:
        print('Ad opened.');
        break;
      case AdEvent.clicked:
        print('Ad clicked.');
        break;
      case AdEvent.closed:
        print('Ad closed.');
        break;
    }
  },
);
回到顶部