Flutter广告集成插件gtads_bqt的使用
Flutter广告集成插件gtads_bqt的使用
GTAds百度百青藤广告支持插件
横幅广告暂不可用。
相关插件
使用
pubspec.yaml
dependencies:
// 广告基础库 必须引入
gtads: ^1.5.0
// 百青藤广告支持
gtads_bqt: ^1.5.x
引入
import 'package:gtads_bqt/gtads_bqt.dart';
使用
仅需通过以下方法插入广告至聚合插件,无需关注具体广告的调用。
// 参数依次为 别名、andorid app Id、ios app Id
GTAds.addProvider(GTAdsBqtProvider("bqt", "b423d90d", "a6b7fed6"));
广告位使用参考GTAds。
完整示例Demo
以下是完整的示例代码,展示了如何在Flutter应用中集成并使用GTAds插件。
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:gtads/gtads.dart';
import 'package:gtads_bqt/gtads_bqt.dart';
import 'banner_page.dart';
import 'native_page.dart';
import 'splash_page.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Index(),
);
}
}
class Index extends StatefulWidget {
[@override](/user/override)
_IndexState createState() => _IndexState();
}
class _IndexState extends State<Index> {
List<Map<String, bool>> initAd = [];
[@override](/user/override)
void initState() {
super.initState();
init();
}
Future<void> init() async {
GTAds.addProvider(GTAdsBqtProvider("bqt", "b423d90d", "a6b7fed6"));
initAd = await GTAds.init(isDebug: true);
setState(() {});
}
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('GTAds百度百青藤广告支持插件'),
),
body: Center(
child: SingleChildScrollView(
child: Column(
children: [
Text("初始化结果$initAd"),
MaterialButton(
color: Colors.blue,
textColor: Colors.white,
child: const Text('横幅广告'),
onPressed: () async {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const BannerPage(),
),
);
},
),
MaterialButton(
color: Colors.blue,
textColor: Colors.white,
child: const Text('激励广告'),
onPressed: () async {
var b = await GTAds.rewardAd(
codes: [
GTAdsCode(
alias: "bqt",
probability: 5,
androidId: "7792010",
iosId: "7800949")
],
// 奖励名称
rewardName: "100金币",
// 奖励数量
rewardAmount: 100,
// 用户id
userId: "user100",
// 扩展参数
customData: "123",
timeout: 6,
callBack: GTAdsCallBack(onShow: (code) {
print("激励广告显示 ${code.toJson()}");
}, onFail: (code, message) {
print("激励广告失败 ${code?.toJson()} $message");
}, onClick: (code) {
print("激励广告点击 ${code.toJson()}");
}, onClose: (code) {
print("激励广告关闭 ${code.toJson()}");
}, onVerify:
(code, verify, transId, rewardName, rewardAmount) {
print(
"激励广告奖励 ${code.toJson()} $verify $transId $rewardName $rewardAmount");
}, onExpand: (code, param) {
print("激励广告自定义参数 ${code.toJson()} $param");
}),
);
if (b) {
print("激励广告开始请求");
} else {
print("激励广告开始请求失败");
}
},
),
MaterialButton(
color: Colors.blue,
textColor: Colors.white,
child: const Text('插屏广告'),
onPressed: () async {
var b = await GTAds.insertAd(
codes: [
GTAdsCode(
alias: "bqt",
probability: 5,
androidId: "8351686",
iosId: "7803486")
],
isFull: false,
timeout: 6,
callBack: GTAdsCallBack(
onShow: (code) {
print("插屏广告显示 ${code.toJson()}");
},
onFail: (code, message) {
print("插屏广告失败 ${code?.toJson()} $message");
},
onClick: (code) {
print("插屏广告点击 ${code.toJson()}");
},
onClose: (code) {
print("插屏广告关闭 ${code.toJson()}");
},
));
if (b) {
print("插屏广告开始请求");
}
},
),
MaterialButton(
color: Colors.blue,
textColor: Colors.white,
child: const Text('开屏广告'),
onPressed: () async {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const SplashPage(),
),
);
},
),
MaterialButton(
color: Colors.blue,
textColor: Colors.white,
child: const Text('信息流广告'),
onPressed: () async {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const NativePage(),
),
);
},
),
],
),
),
),
),
);
}
}
更多关于Flutter广告集成插件gtads_bqt的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter广告集成插件gtads_bqt的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,下面是一个关于如何在Flutter项目中集成并使用gtads_bqt
插件来显示广告的示例代码。这个示例假设你已经创建了一个Flutter项目,并且已经在pubspec.yaml
文件中添加了gtads_bqt
依赖。
1. 添加依赖
首先,在pubspec.yaml
文件中添加gtads_bqt
依赖:
dependencies:
flutter:
sdk: flutter
gtads_bqt: ^最新版本号
确保替换^最新版本号
为当前可用的最新版本。
2. 导入插件并初始化
在你的Flutter项目的main.dart
文件或其他需要显示广告的Dart文件中,导入gtads_bqt
插件并进行初始化。
import 'package:flutter/material.dart';
import 'package:gtads_bqt/gtads_bqt.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Flutter 广告集成示例'),
),
body: MyHomePage(),
),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
late GtAdsBqt gtAdsBqt;
@override
void initState() {
super.initState();
// 初始化广告插件
gtAdsBqt = GtAdsBqt(
appId: '你的广告平台APP ID', // 替换为你的广告平台APP ID
adUnitId: '你的广告单元ID', // 替换为你的广告单元ID
listener: (GtAdsBqtEvent event, Map<String, dynamic>? data) {
// 处理广告事件,如加载成功、失败、点击等
if (event == GtAdsBqtEvent.loaded) {
print('广告加载成功');
} else if (event == GtAdsBqtEvent.failedToLoad) {
print('广告加载失败: ${data?['message'] ?? '未知原因'}');
} else if (event == GtAdsBqtEvent.clicked) {
print('广告被点击');
} else if (event == GtAdsBqtEvent.closed) {
print('广告被关闭');
}
},
);
// 请求加载广告
loadAd();
}
void loadAd() {
gtAdsBqt.loadAd();
}
@override
Widget build(BuildContext context) {
return Center(
child: ElevatedButton(
onPressed: () {
// 显示广告
gtAdsBqt.showAd();
},
child: Text('显示广告'),
),
);
}
}
3. 处理广告生命周期
在上面的代码中,我们创建了一个GtAdsBqt
实例,并为其提供了一个监听器来处理广告的各种事件,如加载成功、失败、点击和关闭。你可以根据这些事件来更新你的UI或执行其他逻辑。
4. 权限和网络配置
请确保你的Android和iOS项目已经配置了必要的网络权限和广告平台的SDK配置。这通常包括在AndroidManifest.xml
中添加网络权限,以及在iOS的Info.plist
中添加必要的广告标识符。
注意事项
- 确保你已经注册了广告平台的账号,并获取了有效的
appId
和adUnitId
。 - 不同的广告平台可能有不同的配置要求和SDK版本,请参考
gtads_bqt
插件的官方文档和广告平台的官方文档进行配置。 - 在实际项目中,你可能需要更复杂的错误处理和UI更新逻辑。
以上代码提供了一个基本的框架,你可以根据需要进行扩展和修改。