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
更多关于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;
}
},
);

