Flutter广告集成插件cs_ironsource_ad的使用
cs_ironsource_ad
使用 ironSource SDK-7.2.5
开始使用
此项目是一个用于 Flutter 的插件包起点,该插件包包含适用于 Android 和/或 iOS 的平台特定实现代码。
对于 Flutter 入门帮助,您可以查看我们的 在线文档,其中提供了教程、示例、移动开发指南和完整的 API 参考。
完整示例代码
以下是一个完整的示例代码,展示如何在 Flutter 应用中集成 cs_ironsource_ad
插件:
import 'package:cs_ironsource_ad/ironsource.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'providers/banner_providers.dart';
import 'widgets/banner_widget.dart';
import 'widgets/button_ads.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => BannerProvider()),
],
child: MaterialApp(
home: Scaffold(
appBar: AppBar(
centerTitle: true,
title: const Text('Flutter IronSource Demo'),
),
body: Stack(
children: <Widget>[
Container(
padding: const EdgeInsets.symmetric(vertical: 50.0),
alignment: Alignment.center,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: const <Widget>[
ButtonAdsWidget(),
BannerWidget(),
],
),
),
// Banner ad
Consumer<BannerProvider>(builder: (context, bannerProv, child) {
return bannerProv.isBannerShow
? Align(
alignment: Alignment.bottomCenter,
child: IronSourceBannerAd(
keepAlive: true,
listener: BannerAdListener(),
size: BannerSize.BANNER,
// size: BannerSize.LARGE,
// size: BannerSize.LEADERBOARD,
// size: BannerSize.RECTANGLE,
// size: BannerSize.SMART,
/* size: BannerSize(
type: BannerSizeType.BANNER,
width: 400,
height: 50,
), */
// backgroundColor: Colors.amber,
),
)
: const SizedBox();
}),
],
),
),
),
);
}
}
详细说明
-
导入必要的库:
import 'package:cs_ironsource_ad/ironsource.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart';
-
定义主应用类:
void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key);
-
构建应用布局:
@override Widget build(BuildContext context) { return MultiProvider( providers: [ ChangeNotifierProvider(create: (_) => BannerProvider()), ], child: MaterialApp( home: Scaffold( appBar: AppBar( centerTitle: true, title: const Text('Flutter IronSource Demo'), ), body: Stack( children: <Widget>[ Container( padding: const EdgeInsets.symmetric(vertical: 50.0), alignment: Alignment.center, child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: const <Widget>[ ButtonAdsWidget(), BannerWidget(), ], ), ), // Banner ad Consumer<BannerProvider>(builder: (context, bannerProv, child) { return bannerProv.isBannerShow ? Align( alignment: Alignment.bottomCenter, child: IronSourceBannerAd( keepAlive: true, listener: BannerAdListener(), size: BannerSize.BANNER, // size: BannerSize.LARGE, // size: BannerSize.LEADERBOARD, // size: BannerSize.RECTANGLE, // size: BannerSize.SMART, /* size: BannerSize( type: BannerSizeType.BANNER, width: 400, height: 50, ), */ // backgroundColor: Colors.amber, ), ) : const SizedBox(); }), ], ), ), ), ); } }
更多关于Flutter广告集成插件cs_ironsource_ad的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter广告集成插件cs_ironsource_ad的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
cs_ironsource_ad
是一个 Flutter 插件,用于在 Flutter 应用中集成 IronSource 广告平台。IronSource 是一个流行的广告平台,支持多种广告格式,包括横幅广告、插页广告、激励视频广告等。
以下是如何在 Flutter 项目中使用 cs_ironsource_ad
插件的步骤:
1. 添加依赖
首先,在 pubspec.yaml
文件中添加 cs_ironsource_ad
插件的依赖:
dependencies:
flutter:
sdk: flutter
cs_ironsource_ad: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
以获取依赖项。
2. 初始化 IronSource
在 main.dart
文件中初始化 IronSource SDK。通常,你需要在应用的启动时进行初始化。
import 'package:flutter/material.dart';
import 'package:cs_ironsource_ad/cs_ironsource_ad.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 IronSource
await CsIronsourceAd.init(
appKey: 'YOUR_IRONSOURCE_APP_KEY',
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomeScreen(),
);
}
}
3. 显示广告
你可以在应用的任何地方使用 cs_ironsource_ad
插件来显示广告。以下是一些常见的广告类型的使用示例:
3.1 横幅广告
import 'package:flutter/material.dart';
import 'package:cs_ironsource_ad/cs_ironsource_ad.dart';
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
@override
void initState() {
super.initState();
_loadBannerAd();
}
Future<void> _loadBannerAd() async {
await CsIronsourceAd.loadBannerAd();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('IronSource Banner Ad'),
),
body: Center(
child: Text('Banner Ad is being loaded...'),
),
);
}
}
3.2 插页广告
import 'package:flutter/material.dart';
import 'package:cs_ironsource_ad/cs_ironsource_ad.dart';
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
@override
void initState() {
super.initState();
_loadInterstitialAd();
}
Future<void> _loadInterstitialAd() async {
await CsIronsourceAd.loadInterstitialAd();
}
Future<void> _showInterstitialAd() async {
await CsIronsourceAd.showInterstitialAd();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('IronSource Interstitial Ad'),
),
body: Center(
child: ElevatedButton(
onPressed: _showInterstitialAd,
child: Text('Show Interstitial Ad'),
),
),
);
}
}
3.3 激励视频广告
import 'package:flutter/material.dart';
import 'package:cs_ironsource_ad/cs_ironsource_ad.dart';
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
@override
void initState() {
super.initState();
_loadRewardedVideoAd();
}
Future<void> _loadRewardedVideoAd() async {
await CsIronsourceAd.loadRewardedVideoAd();
}
Future<void> _showRewardedVideoAd() async {
await CsIronsourceAd.showRewardedVideoAd();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('IronSource Rewarded Video Ad'),
),
body: Center(
child: ElevatedButton(
onPressed: _showRewardedVideoAd,
child: Text('Show Rewarded Video Ad'),
),
),
);
}
}
4. 处理广告事件
你可以监听广告事件,例如广告加载成功、广告关闭、用户获得奖励等。以下是一个处理激励视频广告事件的示例:
CsIronsourceAd.setRewardedVideoListener(
onRewardedVideoAdOpened: () {
print('Rewarded Video Ad Opened');
},
onRewardedVideoAdClosed: () {
print('Rewarded Video Ad Closed');
},
onRewardedVideoAdRewarded: (String placementName) {
print('User rewarded with $placementName');
},
onRewardedVideoAdShowFailed: (String error) {
print('Rewarded Video Ad Show Failed: $error');
},
);
5. 其他配置
你还可以根据需要配置其他 IronSource 选项,例如设置用户 ID、启用测试模式等。
await CsIronsourceAd.setUserId('YOUR_USER_ID');
await CsIronsourceAd.setConsent(true);
await CsIronsourceAd.setMetaData('key', 'value');