共计 3061 个字符,预计需要花费 8 分钟才能阅读完成。
flutter_tencentad 是一款集成了腾讯优量汇广告 (广点通)Android 和 iOS SDK 的 Flutter 插件, 不便间接调用优量汇(广点通) 广告 SDK 办法疾速开发,插件仓库
因为优量汇须要上架利用能力应用广告,所以 demo 不能间接运行,体验 demo
集成步骤
1、pubspec.yaml
flutter_tencentad: ^1.0.0
引入
import 'package:flutter_tencentad/flutter_tencentad.dart';
2、Android
SDK(4.380.1250)已配置插件中无需额定配置,只须要在 android 目录中 AndroidManifest.xml 配置
<manifest ···
xmlns:tools="http://schemas.android.com/tools"
···>
<application
tools:replace="android:label">
3、IOS
SDK(4.380.1250)已配置插件中无需额定配置,只须要在 android 目录中 AndroidManifest.xml 配置
<manifest ···
xmlns:tools="http://schemas.android.com/tools"
···>
<application
tools:replace="android:label">
开发中
应用
1、SDK 初始化
await FlutterTencentad.register(
appId: "1200009850", //appid
debug: true, // 是否显示日志 log
);
2、获取 SDK 版本
await FlutterTencentad.getSDKVersion();
3、开屏广告
FlutterTencentad.splashAdView(
// 广告 id
codeId: "4052216802299999",
//// 设置开屏广告从申请到展现所花的最大时长(并不是指广告曝光时长),取值范畴为[1500, 5000]ms
fetchDelay: 3000,
// 广告回调
callBack: SplashAdCallBack(onShow: () {print("开屏广告显示");
},
onADTick: (time) {print("开屏广告倒计时剩余时间 $time");
},
onClick: () {print("开屏广告点击");
},
onClose: () {print("开屏广告敞开");
Navigator.pop(context);
},
onExpose: () {print("开屏广告曝光");
},
onFail: (code, message) {print("开屏广告失败 $code $message");
},
),
),
4、banner 广告
FlutterTencentad.bannerAdView(
// 广告 id
codeId: "8042711873318113",
// 广告宽 单位 dp
viewWidth: 500,
// 广告高 单位 dp 宽高比应该为 6.4:1
viewHeight: 100,
// 广告回调
callBack: BannerAdCallBack(onShow: () {print("Banner 广告显示");
},
onFail: (code, message) {print("Banner 广告谬误 $code $message");
},
onClose: () {print("Banner 广告敞开");
},
onExpose: () {print("Banner 广告曝光");
},
onClick: () {print("Banner 广告点击");
},
),
),
5、动静信息流 / 横幅 / 视频贴片广告
FlutterTencentad.expressAdView(
// 广告 id
codeId: "4072918853903023",
// 广告宽 单位 dp
viewWidth: 400,
// 广告高 单位 dp
viewHeight: 300,
// 回调事件
callBack: ExpressAdCallBack(onShow: () {print("动静信息流广告显示");
},
onFail: (code, message) {print("动静信息流广告谬误 $code $message");
},
onClose: () {print("动静信息流广告敞开");
},
onExpose: () {print("动静信息流广告曝光");
},
onClick: () {print("动静信息流广告点击");
},
)
),
6、激励视频广告
预加载激励视频广告
await FlutterTencentad.loadRewardVideoAd(
// 广告 id
codeId: "5042816813706194",
// 用户 id
userID: "123",
// 处分
rewardName: "100 金币",
// 处分数
rewardAmount: 100
);
显示激励视频广告
await FlutterTencentad.showRewardVideoAd();
监听激励视频后果
FlutterTencentAdStream.initAdStream(
// 激励广告
flutterTencentadRewardCallBack: FlutterTencentadRewardCallBack(onShow: () {print("激励广告显示");
},
onClick: () {print("激励广告点击");
},
onFail: (code, message) {print("激励广告失败 $code $message");
},
onClose: () {print("激励广告敞开");
},
onReady: () async {print("激励广告预加载准备就绪");
await FlutterTencentad.showRewardVideoAd();},
onUnReady: () {print("激励广告预加载未准备就绪");
},
onVerify: (transId,rewardName,rewardAmount) {print("激励广告处分 $transId $rewardName $rewardAmount");
},
onFinish: (){print("激励广告实现");
}
),
);
7、插屏广告
预加载插屏广告
await FlutterTencentad.loadUnifiedInterstitialAD(
// 广告 id
codeId: "9062813863614416",
// 是否全屏
isFullScreen: false,
);
显示插屏广告
await FlutterTencentad.showUnifiedInterstitialAD();
插屏广告后果监听
FlutterTencentAdStream.initAdStream(
interactionAdCallBack: InteractionAdCallBack(onShow: () {print("插屏广告显示");
},
onClick: () {print("插屏广告点击");
},
onFail: (code, message) {print("插屏广告失败 $code $message");
},
onClose: () {print("插屏广告敞开");
},
onReady: () async {print("插屏广告预加载准备就绪");
await FlutterTencentad.showUnifiedInterstitialAD();},
onUnReady: () {print("插屏广告预加载未准备就绪");
},
),
);
正文完