Flutter广告集成插件flutter_qq_ads的使用
Flutter广告集成插件flutter_qq_ads的使用
🚀 核心功能
- ✅ 开屏广告
- ✅ 插屏广告
- ✅ 激励视频
- ✅ Banner
- ✅ 信息流
📃 接入文档
- 极速接入、快速体验、持续更新
- 变现方案 = 【GroMore】+【AdSpark】+【AdContent】
📌 广告系列插件(FlutterAds)
插件 | 描述 |
---|---|
flutter_gromore_pro | 帮你大幅提升广告收益,发挥出最大的用户价值 |
flutter_gromore_ads | 字节跳动、穿山甲、GroMore 聚合 Flutter 广告开源版插件 |
flutter_pangle_ads | 字节跳动、穿山甲 Flutter 广告插件 |
flutter_qq_ads | 腾讯广告、广点通、优量汇 Flutter 广告插件 |
flutter_adspark | 巨量广告/穿山甲的广告监测、增长分析、归因上报、事件管理 Flutter 版插件 |
flutter_adcontent | 穿山甲内容输出 Flutter 版插件,支持短剧和小视频 |
📣 推荐使用 GroMore
- 【Gromore Pro】可进行多家广告瀑布流竞价,让您拥有更高的广告收益,发挥最大的用户价值
完整示例 Demo
import 'package:flutter/material.dart';
import 'package:flutter_qq_ads/flutter_qq_ads.dart';
// 引入广告配置文件
import 'ads_config.dart';
import 'pages/home_page.dart';
void main() {
// 绑定引擎
WidgetsFlutterBinding.ensureInitialized();
// 设置广告监听事件
setAdEvent();
// 初始化广告 SDK 并显示开屏广告
init().then((value) {
if (value) {
FlutterQqAds.showSplashAd(
AdsConfig.splashId, // 开屏广告ID
logo: AdsConfig.logo, // Logo 图片路径
);
}
});
// 启动应用
runApp(MyApp());
}
class MyApp extends StatefulWidget {
[@override](/user/override)
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: HomePage(), // 主页面
);
}
}
/// 初始化广告 SDK
Future<bool> init() async {
bool result = await FlutterQqAds.initAd(AdsConfig.appId); // 初始化广告SDK
debugPrint("广告SDK 初始化${result ? '成功' : '失败'}");
return result;
}
/// 设置广告监听
Future<void> setAdEvent() async {
FlutterQqAds.onEventListener((event) {
debugPrint('adId:${event.adId} action:${event.action}');
// 错误事件处理
if (event is AdErrorEvent) {
debugPrint(' errCode:${event.errCode} errMsg:${event.errMsg}');
}
// 激励事件处理
else if (event is AdRewardEvent) {
debugPrint(' transId:${event.transId} userId:${event.userId} customData:${event.customData}');
}
});
}
ads_config.dart
示例
class AdsConfig {
static const String appId = "你的APP ID"; // 应用ID
static const String splashId = "你的开屏广告ID"; // 开屏广告ID
static const String logo = "assets/logo.png"; // Logo图片路径
}
home_page.dart
示例
import 'package:flutter/material.dart';
class HomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("首页"),
),
body: Center(
child: Text("欢迎来到首页!"),
),
);
}
}
更多关于Flutter广告集成插件flutter_qq_ads的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复
更多关于Flutter广告集成插件flutter_qq_ads的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,下面是一个关于如何在Flutter项目中集成并使用flutter_qq_ads
插件的示例代码。请注意,你需要先确保你的Flutter开发环境已经正确配置,并且已经在pubspec.yaml
文件中添加了flutter_qq_ads
依赖。
1. 添加依赖
首先,在你的pubspec.yaml
文件中添加flutter_qq_ads
依赖:
dependencies:
flutter:
sdk: flutter
flutter_qq_ads: ^最新版本号 # 请替换为最新的版本号
然后运行flutter pub get
来安装依赖。
2. 配置Android和iOS项目
Android配置
在android/app/src/main/AndroidManifest.xml
中添加必要的权限和配置:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.yourapp">
<!-- 添加必要的权限 -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- QQ广告SDK所需的Activity配置 -->
<application
...>
<activity
android:name="com.tencent.android.qqad.banner.QQBannerViewActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.tencent.android.qqad.fullvideo.QQFullVideoActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
<activity
android:name="com.tencent.android.qqad.splash.QQSplashActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
<activity
android:name="com.tencent.android.qqad.interstitial.QQInterstitialActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.tencent.android.qqad.rewardvideo.QQRewardVideoActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
</application>
</manifest>
同时,在android/app/build.gradle
中添加以下内容(替换为你的QQ广告SDK的app_id):
android {
...
defaultConfig {
...
manifestPlaceholders = [
QQ_APP_ID: "你的QQ广告SDK的app_id"
]
}
}
iOS配置
对于iOS项目,你需要在Info.plist
中添加一些必要的配置,并确保你的项目已经配置了QQ广告的App ID。具体步骤可以参考QQ广告SDK的官方文档。
3. 初始化并使用广告
在你的Flutter项目中,你可以按照以下方式初始化并使用QQ广告:
import 'package:flutter/material.dart';
import 'package:flutter_qq_ads/flutter_qq_ads.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
// 初始化QQ广告SDK
FlutterQqAds.init(appId: "你的QQ广告SDK的app_id");
// 加载横幅广告示例
loadBannerAd();
// 加载插屏广告示例
loadInterstitialAd();
}
void loadBannerAd() {
FlutterQqAds.loadBannerAd(
posId: "你的横幅广告位ID",
success: (adView) {
// 成功加载横幅广告,可以将其添加到widget树中
setState(() {
_bannerAdView = adView;
});
},
fail: (code, msg) {
print("加载横幅广告失败: $code, $msg");
},
);
}
void loadInterstitialAd() {
FlutterQqAds.loadInterstitialAd(
posId: "你的插屏广告位ID",
success: (ad) {
// 成功加载插屏广告,可以在合适的时候展示
_interstitialAd = ad;
},
fail: (code, msg) {
print("加载插屏广告失败: $code, $msg");
},
);
}
BannerAdView? _bannerAdView;
InterstitialAd? _interstitialAd;
void showInterstitialAd() {
if (_interstitialAd != null) {
_interstitialAd!.show(
success: () {
print("插屏广告展示成功");
// 重新加载插屏广告以便下次使用
loadInterstitialAd();
},
fail: (code, msg) {
print("插屏广告展示失败: $code, $msg");
},
close: () {
print("插屏广告关闭");
},
);
}
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Flutter QQ Ads Demo'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
_bannerAdView ?? Container(), // 显示横幅广告
SizedBox(height: 20),
ElevatedButton(
onPressed: showInterstitialAd,
child: Text('展示插屏广告'),
),
],
),
),
),
);
}
}
注意事项
- 广告位ID:确保你使用的是QQ广告平台提供的正确的广告位ID。
- 测试环境:在开发测试阶段,可以使用QQ广告提供的测试广告位ID进行测试。
- 隐私政策:在实际应用中,确保你的应用有合适的隐私政策,并且用户同意接收广告。
以上是一个基本的集成示例,根据实际需求,你可能需要进一步调整和扩展代码。