flutter_universalad是一個聚合位元組跳動穿山甲廣告外掛flutter_unionad、騰訊優量匯聚合廣告flutter_tencentad外掛,方便直接呼叫多個廠商廣告,外掛倉庫。體驗demo
整合步驟
1、pubspec.yaml
flutter_universalad: ^0.0.3
複製程式碼
2、引入
import 'package:flutter_universalad/flutter_universalad.dart';
複製程式碼
使用
1、SDK初始化
await FlutterUniversalad.register(
pangolinId: "5098580",
tencentId: "1200009850",
appName: "Flutter_universalad",
debug: true,
callBack: RegisterCallBack(pangolinInit: (result) {
setState(() {
_registerResult = "$_registerResult 穿山甲初始化 $result";
});
}, tencentInit: (result) {
setState(() {
_registerResult = "$_registerResult 優量匯初始化 $result";
_getVersion();
});
}),
);
複製程式碼
2、獲取SDK版本
VersionEntity versionEntity = await FlutterUniversalad.getSDKVersion();
_sdkVersion =
"穿山甲SDK ${versionEntity.pangolinVersion} 優量匯SDK ${versionEntity.tencentVersion}";
複製程式碼
3、激勵廣告
預載入激勵廣告
await FlutterUniversalad.loadRewardVideoAd(
pangolinId: "945418088",//穿山甲廣告id
tencentId: "5042816813706194",//優量匯廣告id
rewardName: "金幣",//獎勵名稱
rewardAmount: 10,//獎勵數量
userID: "123",//使用者id
loadType: UniversalLoadType.INTURN,//廣告載入模式 UniversalLoadType.INTURN 交替拉取廣告,UniversalLoadType.RANDOWM 完全隨機拉去廣告
probability: 0.5);//穿山甲出現的機率,UniversalLoadType.RANDOWM 起效,「0-1取值,0為不出現 1必出現」
},
複製程式碼
激勵廣告監聽
FlutterUniversalAdStream.initAdStream(
uRewardCallBack: URewardCallBack(
onShow: (sdkType) {
print("$sdkType 激勵廣告開始顯示");
},
onFail: (sdkType, code, message) {
//只有兩個外掛都失敗的情況下才會返回失敗,只返回最後一次失敗的引數,單獨一個失敗,會保底去拉取另一個sdk廣告
print("$sdkType 激勵廣告失敗 $code $message");
},
onClick: (sdkType) {
print("$sdkType 激勵廣告點選");
},
onClose: (sdkType) {
print("$sdkType 激勵廣告關閉");
},
onReady: (sdkType) {
print("$sdkType 激勵廣告預載入完成");
FlutterUniversalad.showRewardVideoAd();
},
onUnReady: (sdkType) {
print("$sdkType 激勵廣告未預載入");
},
onVerify: (sdkType, transId, verify, amount, name) {
print("$sdkType 激勵廣告觀看成功 transId=$transId verify=$verify amount=$amount name=$name");
},
),
);
複製程式碼
展示激勵廣告
FlutterUniversalad.showRewardVideoAd();
複製程式碼
4、插屏廣告
預載入插屏廣告
await FlutterUniversalad.loadInterstitialAd(
pangolinId: "946201351",//穿山甲廣告id
tencentId: "9062813863614416",//優量匯廣告id
isFullScreen: false,//是否全屏 僅優量匯起效
loadType: UniversalLoadType.INTURN,//廣告載入模式 UniversalLoadType.INTURN 交替拉取廣告,UniversalLoadType.RANDOWM 完全隨機拉去廣告
probability: 0.5);//穿山甲出現的機率,UniversalLoadType.RANDOWM 起效,「0-1取值,0為不出現 1必出現」
},
複製程式碼
插屏廣告監聽
FlutterUniversalAdStream.initAdStream(
uInteractionCallBack: UInteractionCallBack(
onShow: (sdkType) {
print("$sdkType 插屏廣告開始顯示");
},
onFail: (sdkType, code, message) {
//只有兩個外掛都失敗的情況下才會返回失敗,只返回最後一次失敗的引數,單獨一個失敗,會保底去拉取另一個sdk廣告
print("$sdkType 插屏廣告失敗 $code $message");
},
onClick: (sdkType) {
print("$sdkType 插屏廣告點選");
},
onClose: (sdkType) {
print("$sdkType 插屏廣告關閉");
},
onReady: (sdkType) {
print("$sdkType 插屏廣告預載入完成");
FlutterUniversalad.showInterstitialAd();
},
onUnReady: (sdkType) {
print("$sdkType 插屏廣告未預載入");
},
),
);
複製程式碼
展示插屏廣告
FlutterUniversalad.showInterstitialAd();
複製程式碼
5、開屏廣告
FlutterUniversalad.splashAdView(
pangolinId: "887367774",//穿山甲廣告id
tencentId: "4052216802299999",//優量匯廣告id
loadType: UniversalLoadType.INTURN,//廣告載入模式 UniversalLoadType.INTURN 交替拉取廣告,UniversalLoadType.RANDOWM 完全隨機拉去廣告
probability: 0.5,//穿山甲出現的機率,UniversalLoadType.RANDOWM 起效,「0-1取值,0為不出現 1必出現」
callBack: USplashCallBack(
onShow: (sdkType) {
print("$sdkType 開屏廣告顯示");
},
onFail: (sdkType, code, message) {
print("$sdkType 開屏廣告失敗 $code $message");
Navigator.pop(context);
},
onClick: (sdkType) {
print("$sdkType 開屏廣告點選");
},
onClose: (sdkType) {
print("$sdkType 開屏廣告關閉");
Navigator.pop(context);
},
)
複製程式碼
6、資訊流廣告
FlutterUniversalad.nativeAdView(
pangolinId: "945417699",//穿山甲廣告id
tencentId: "4072918853903023",//優量匯廣告id
width: 400.0,//寬 dp
height: 260.0,//高 dp
loadType: UniversalLoadType.INTURN,//廣告載入模式 UniversalLoadType.INTURN 交替拉取廣告,UniversalLoadType.RANDOWM 完全隨機拉去廣告
probability: 0.5,//穿山甲出現的機率,UniversalLoadType.RANDOWM 起效,「0-1取值,0為不出現 1必出現」
callBack: UNativeCallBack(
onShow: (sdkType) {
print("$sdkType Native廣告顯示");
},
onFail: (sdkType, code, message) {
print("$sdkType Native廣告失敗 $code $message");
},
onClick: (sdkType) {
print("$sdkType Native廣告點選");
},
onClose: (sdkType) {
print("$sdkType Native廣告關閉");
},
),
)
複製程式碼
7、Banner廣告
FlutterUniversalad.bannerAdView(
pangolinId: "945410197",//穿山甲廣告id
tencentId: "8042711873318113",//優量匯廣告id
width: 300.0,//寬 dp
height: 100.0,//高 dp
loadType: UniversalLoadType.INTURN,//廣告載入模式 UniversalLoadType.INTURN 交替拉取廣告,UniversalLoadType.RANDOWM 完全隨機拉去廣告
probability: 0.5,//穿山甲出現的機率,UniversalLoadType.RANDOWM 起效,「0-1取值,0為不出現 1必出現」
callBack: UBannerCallBack(
onShow: (sdkType) {
print("$sdkType Banner廣告顯示");
},
onFail: (sdkType, code, message) {
print("$sdkType Banner廣告失敗 $code $message");
},
onClick: (sdkType) {
print("$sdkType Banner廣告點選");
},
onClose: (sdkType) {
print("$sdkType Banner廣告關閉");
},
),
)
複製程式碼
說明
- 聚合外掛目前Android端穿山甲、優量匯所有廣告,ios端僅支援穿山甲廣告。