flutter_tencentad是一款整合了騰訊優量匯廣告Android和iOSSDK的Flutter外掛,方便直接呼叫優量匯廣告SDK方法快速開發,外掛倉庫
由於優量匯需要上架應用才能使用廣告,所以demo不能直接執行,體驗demo
整合步驟
1、pubspec.yaml
flutter_tencentad: ^0.0.2
複製程式碼
引入
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
開發中
使用
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",
);
複製程式碼
顯示激勵視訊廣告
await FlutterTencentad.showRewardVideoAd();
複製程式碼
監聽激勵視訊結果
FlutterTencentAdStream.initAdStream(
//激勵廣告
rewardAdCallBack: RewardAdCallBack(
onShow: () {
print("激勵廣告顯示");
},
onClick: () {
print("激勵廣告點選");
},
onFail: (code, message) {
print("激勵廣告失敗 $code $message");
},
onClose: () {
print("激勵廣告關閉");
},
onReady: () async {
print("激勵廣告預載入準備就緒");
await FlutterTencentad.showRewardVideoAd();
},
onUnReady: () {
print("激勵廣告預載入未準備就緒");
},
onVerify: (transId) {
print("激勵廣告獎勵 $transId");
},
),
);
複製程式碼
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("插屏廣告預載入未準備就緒");
},
),
);
複製程式碼