Flutter广告插件sigmobad的使用
Flutter广告插件sigmobad的使用
Sigmob广告 Flutter版本
官方文档
版本更新
本地开发环境
[✓] Flutter (Channel stable, 3.24.5, on macOS 14.6.1 23G93 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.1)
[✓] Android Studio (version 2022.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2023.2.2)
[✓] VS Code (version 1.95.3)
[✓] Connected device (4 available)
[✓] Network resources
集成步骤
1. pubspec.yaml
dependencies:
sigmobad: ^latest
引入:
import 'package:sigmobad/sigmobad.dart';
使用
1. SDK初始化
await SigmobAd.register(
//androidId
androidId: "6878",
//iosId
iosId: "6877",
//androidAppKey
androidAppKey: "8ebc1fd1c27e650c",
//iosAppKey
iosAppKey: "eccdcdbd9adbd4a7",
//是否显示日志log
debug: true,
//是否显示个性化推荐广告
personalized: true,
);
2. 获取SDK版本
await SigmobAd.getSDKVersion();
3. 信息流广告(自渲染)
SigmobAdNativeWidget(
//andorid广告位id
androidId: "ed70b4760ff",
//ios广告位id
iosId: "ed70b3615a5",
//广告宽
viewWidth: 400,
//广告高 加载成功后会自动修改为sdk返回广告高
viewHeight: 200,
//用户id
userId: "123",
//广告回调
callBack: SigmobAdNativeCallBack(
onShow: () {
print("信息流广告显示");
},
onClose: () {
print("信息流广告关闭");
},
onFail: (message) {
print("信息流广告出错 $message");
},
onClick: () {
print("信息流广告点击");
},
),
),
4. 激励广告
预加载广告
await SigmobAd.loadRewardAd(
//android广告id
androidId: "ea1f8ea2d90",
//ios广告id
iosId: "ea1f8f7b662",
//用户id
userID: "123",
//奖励
rewardName: "100金币",
//奖励数
rewardAmount: 100,
//扩展参数 服务器回调使用
customData: "",
);
显示广告
await SigmobAd.showRewardAd();
广告监听
SigmobAdStream.initAdStream(
//激励广告
rewardCallBack: SigmobAdRewardCallBack(
onShow: () {
print("激励广告显示");
},
onClick: () {
print("激励广告点击");
},
onFail: (message) {
print("激励广告失败 $message");
},
onClose: () {
print("激励广告关闭");
},
onReady: () async {
print("激励广告预加载准备就绪");
await SigmobAd.showRewardAd();
},
onUnReady: () {
print("激励广告预加载未准备就绪");
},
onVerify: (hasReward, rewardName, rewardAmount) {
print("激励广告奖励 $hasReward $rewardName $rewardAmount");
},
),
);
5. 开屏广告
SigmobAdSplashWidget(
//android广告位id
androidId: "ea1f8f21300",
//ios广告位id
iosId: "ea1f8f9bd12",
//宽
width: MediaQuery.of(context).size.width,
//高
height: MediaQuery.of(context).size.height,
//超时时间
fetchDelay: 5,
//用户id
userId: "123",
callBack: SigmobAdSplashCallBack(
onShow: () {
print("开屏广告显示");
},
onClose: () {
print("开屏广告关闭");
Navigator.pop(context);
},
onFail: (message) {
print("开屏广告出错 $message");
},
onClick: () {
print("开屏广告点击");
},
),
),
6. 插屏广告
预加载广告
await SigmobAd.loadInterstitialAd(
//android广告id
androidId: "ea1f8f45d80",
//ios广告id
iosId: "ea1f8fb93fb",
//用户id
userId: "123",
);
显示广告
await SigmobAd.showInterstitialAd();
广告监听
SigmobAdStream.initAdStream(
interstitialCallBack: SigmobAdInterstitialCallBack(
onShow: () {
print("插屏广告显示");
},
onClick: () {
print("插屏广告点击");
},
onFail: (message) {
print("插屏广告失败 $message");
},
onClose: () {
print("插屏广告关闭");
},
onReady: () async {
print("插屏广告预加载准备就绪");
await SigmobAd.showInterstitialAd();
},
onUnReady: () {
print("插屏广告预加载未准备就绪");
},
),
);
更多关于Flutter广告插件sigmobad的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter广告插件sigmobad的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter项目中使用SigmobAd插件的一个示例代码案例。SigmobAd是一个流行的广告插件,用于在Flutter应用中集成和管理广告。
首先,确保你已经在pubspec.yaml
文件中添加了SigmobAd插件的依赖:
dependencies:
flutter:
sdk: flutter
sigmob_ad: ^最新版本号 # 请替换为实际的最新版本号
然后,运行flutter pub get
来获取依赖。
接下来,你需要进行一些初始化工作,并在你的应用中展示广告。以下是一个完整的示例,包括初始化、展示横幅广告和全屏广告。
主文件 main.dart
import 'package:flutter/material.dart';
import 'package:sigmob_ad/sigmob_ad.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'SigmobAd Example',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
// 初始化SigmobAd
@override
void initState() {
super.initState();
SigmobAd.instance.init(
appId: '你的Sigmob App ID', // 请替换为你的Sigmob App ID
placementId: '你的横幅广告Placement ID', // 请替换为你的横幅广告Placement ID
listener: (SigmobAdEvent event, Map<String, dynamic> args) {
// 处理广告事件,例如广告加载成功、展示失败等
print('SigmobAd event: $event, args: $args');
},
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('SigmobAd Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
// 展示横幅广告
SizedBox(
width: SigmobAd.bannerWidth,
height: SigmobAd.bannerHeight,
child: SigmobBannerAd(
placementId: '你的横幅广告Placement ID', // 请替换为你的横幅广告Placement ID
),
),
SizedBox(height: 20),
// 展示全屏广告的按钮
ElevatedButton(
onPressed: () {
SigmobAd.instance.showInterstitialAd(
placementId: '你的全屏广告Placement ID', // 请替换为你的全屏广告Placement ID
);
},
child: Text('Show Interstitial Ad'),
),
],
),
),
);
}
}
说明
-
初始化SigmobAd:在
initState
方法中调用SigmobAd.instance.init
方法进行初始化,传入你的Sigmob App ID和横幅广告的Placement ID。同时,你可以设置一个监听器来处理广告事件。 -
展示横幅广告:使用
SigmobBannerAd
组件来展示横幅广告,设置合适的宽度和高度,并传入横幅广告的Placement ID。 -
展示全屏广告:添加一个按钮,当点击按钮时调用
SigmobAd.instance.showInterstitialAd
方法来展示全屏广告,并传入全屏广告的Placement ID。
注意事项
- 确保你已经在Sigmob平台注册并创建了应用,获取了相应的App ID和广告Placement ID。
- 在实际项目中,处理广告事件时,你可能需要根据事件类型进行相应的UI更新或错误处理。
- 请根据SigmobAd插件的官方文档和更新日志,确保使用最新版本的插件并遵循最佳实践。
这个示例展示了如何在Flutter应用中使用SigmobAd插件来集成横幅广告和全屏广告。希望这对你有所帮助!