Flutter广告集成插件tian_lang_ad的使用
Flutter广告集成插件tian_lang_ad的使用
概述
aorun_ad
是一个用于 Flutter 的广告集成插件。它支持多种广告形式,例如激励视频广告和插屏广告。本文将介绍如何在 Flutter 应用中集成并使用 aorun_ad
插件。
使用步骤
1. 添加依赖
首先,在项目的 pubspec.yaml
文件中添加 aorun_ad
依赖:
dependencies:
aorun_ad: ^1.0.0 # 替换为最新版本号
然后运行以下命令以更新依赖:
flutter pub get
2. 初始化插件
在应用启动时初始化插件,并获取平台版本信息。
示例代码:
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 = '未知'; // 存储平台版本信息
final _aorunAdPlugin = AorunAd(); // 初始化插件实例
[@override](/user/override)
void initState() {
super.initState();
initPlatformState(); // 初始化平台状态
}
// 获取平台版本信息
Future<void> initPlatformState() async {
String platformVersion;
try {
platformVersion = await _aorunAdPlugin.getPlatformVersion() ?? '未知平台版本';
} on PlatformException {
platformVersion = '获取平台版本失败';
}
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("调用广告错误: ${e.message}");
}
}
/// 展示插屏广告(进阶)
Future<void> showChaPingAd() async {
try {
_aorunAdPlugin.showChaPingAd(); // 调用插屏广告方法
} on PlatformException catch (e) {
print("调用广告错误: ${e.message}");
}
}
}
功能说明
1. 获取平台版本
通过 getPlatformVersion()
方法可以获取当前平台的版本信息。此方法可用于检查插件是否正常工作。
2. 展示激励视频广告
通过 showRewardVideoAd2()
方法可以展示激励视频广告。该方法会返回广告的执行结果。
3. 展示插屏广告
通过 showChaPingAd()
方法可以展示插屏广告。该方法无需返回值。
完整示例代码
以下是完整的示例代码,可以直接复制到项目中运行:
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 = '未知';
final _aorunAdPlugin = AorunAd();
[@override](/user/override)
void initState() {
super.initState();
initPlatformState();
}
Future<void> initPlatformState() async {
String platformVersion;
try {
platformVersion = await _aorunAdPlugin.getPlatformVersion() ?? '未知平台版本';
} on PlatformException {
platformVersion = '获取平台版本失败';
}
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("调用广告错误: ${e.message}");
}
}
Future<void> showChaPingAd() async {
try {
_aorunAdPlugin.showChaPingAd();
} on PlatformException catch (e) {
print("调用广告错误: ${e.message}");
}
}
}
更多关于Flutter广告集成插件tian_lang_ad的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter广告集成插件tian_lang_ad的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
tian_lang_ad
是一个用于在 Flutter 应用中集成广告的插件。它支持多种广告类型,如横幅广告、插页式广告、激励视频广告等。以下是如何在 Flutter 项目中使用 tian_lang_ad
插件的步骤:
1. 添加依赖
首先,在 pubspec.yaml
文件中添加 tian_lang_ad
插件的依赖:
dependencies:
flutter:
sdk: flutter
tian_lang_ad: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装依赖。
2. 初始化插件
在应用的 main.dart
文件中初始化 tian_lang_ad
插件。通常,你需要在 main()
函数中进行初始化:
import 'package:flutter/material.dart';
import 'package:tian_lang_ad/tian_lang_ad.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await TianLangAd.init(
appId: 'your_app_id', // 替换为你的应用ID
isDebug: true, // 调试模式,发布时设置为 false
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
3. 使用广告组件
tian_lang_ad
提供了多种广告组件,你可以根据需要在应用中使用它们。
横幅广告
import 'package:flutter/material.dart';
import 'package:tian_lang_ad/tian_lang_ad.dart';
class MyHomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter Demo Home Page'),
),
body: Column(
children: [
Expanded(
child: Center(
child: Text('Hello, world!'),
),
),
TianLangBannerAd(
adUnitId: 'your_banner_ad_unit_id', // 替换为你的横幅广告单元ID
adSize: BannerAdSize.BANNER,
listener: (AdEvent event, {String? message}) {
print('Banner Ad Event: $event, Message: $message');
},
),
],
),
);
}
}
插页式广告
import 'package:flutter/material.dart';
import 'package:tian_lang_ad/tian_lang_ad.dart';
class MyHomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter Demo Home Page'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
TianLangInterstitialAd.load(
adUnitId: 'your_interstitial_ad_unit_id', // 替换为你的插页式广告单元ID
listener: (AdEvent event, {String? message}) {
print('Interstitial Ad Event: $event, Message: $message');
if (event == AdEvent.LOADED) {
TianLangInterstitialAd.show();
}
},
);
},
child: Text('Show Interstitial Ad'),
),
),
);
}
}
激励视频广告
import 'package:flutter/material.dart';
import 'package:tian_lang_ad/tian_lang_ad.dart';
class MyHomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter Demo Home Page'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
TianLangRewardedAd.load(
adUnitId: 'your_rewarded_ad_unit_id', // 替换为你的激励视频广告单元ID
listener: (AdEvent event, {String? message, int? amount, String? type}) {
print('Rewarded Ad Event: $event, Message: $message, Amount: $amount, Type: $type');
if (event == AdEvent.LOADED) {
TianLangRewardedAd.show();
}
},
);
},
child: Text('Show Rewarded Ad'),
),
),
);
}
}