Flutter快速接入信天翁广告
官方文档
集成步骤
1、pubspec.yaml
由于ios sdk只能本地引入且大小已超过插件上传100M的限制,所以只能通过git引入插件使用
//quakerbirdad: ^0.0.6 
quakerbirdad:
    git:
      url: https://github.com/gstory0404/quakerbirdad.git
      ref: 0.0.7
引入
import 'package:quakerbirdad/quakerbirdad.dart';
2、Android
根据官方文件进行权限等配置。
3、IOS
根据官方文件进行权限等配置。
注意事项
- 广告view传入的宽高仅加载时起效,加载完成后动态修改成SDK返回广告大小
 
使用
SDK初始化
QuakerBirdAd.register(
      //android  app id
      androidAppId: "881",
      //ios app id
      iosAppId: "881",
      //是否显示日志,建议正式上线时,设置为false
      debug: true,
      //是否非WiFi下提示确认
      download: QuakerBirdAdDownload.ALWAYS,
      //应用渠道id (非必填,填写后可以按渠道查看广告数据)
      channelId: "test",
      //设置是否初始化时就申请权限
      permission: true,
    );
获取SDK版本
await QuakerBirdAd.getSDKVersion();
获取权限
目前仅iOS生效,用于ATT权限获取
QuakerBirdAd.requestPermission().then((value) => {
   print("获取权限结果 $value")
});
开屏广告
QuakerBirdAdSplash(
      androidId: "3561",
      iosId: "3561",
      width: window.physicalSize.width / window.devicePixelRatio,
      height: window.physicalSize.height / window.devicePixelRatio,
      callBack: QuakerBirdAdSplashCallBack(
        onShow: () {
          print("插屏广告显示");
        },
        onError: (msg) {
          print("插屏广告失败 $msg");
        },
        onClick: () {
          print("插屏广告点击");
        },
        onDismiss: () {
          print("插屏广告关闭");
        },
        onStatus: (type, platform, status, msg) {
          print("插屏广告状态 类型:$type  平台:$platform  状态:$status  错误消息 (失败时有效):$msg");
        },
      ),
    );
横幅广告
QuakerBirdAdBanner(
              androidId: "1983",
              iosId: "1983", 
              width: 500,
              height: 50,
              callBack: QuakerBirdAdBannerCallBack(
                  onShow: (){
                    print("横幅广告显示");
                  },
                  onError: (msg){
                    print("横幅广告失败 $msg");
                  },
                  onClick: (){
                    print("横幅广告点击");
                  },
                  onDismiss: (){
                    print("横幅广告关闭");
                    Navigator.pop(context);
                  },
                  onStatus: (type,platform,status,msg){
                    print("横幅广告状态 类型:$type  平台:$platform  状态:$status  错误消息 (失败时有效):$msg");
                  }
              ),
            );
信息流广告
QuakerBirdAdNative(
              androidId: "2351",
              iosId: "2351",
              width: 500,
              height: 200,
              callBack: QuakerBirdAdNativeCallBack(
                  onShow: (){
                    print("信息流广告显示");
                  },
                  onError: (msg){
                    print("信息流广告失败 $msg");
                  },
                  onClick: (){
                    print("信息流广告点击");
                  },
                  onDismiss: (){
                    print("信息流广告关闭");
                    Navigator.pop(context);
                  },
                  onStatus: (type,platform,status,msg){
                    print("信息流广告状态 类型:$type  平台:$platform  状态:$status  错误消息 (失败时有效):$msg");
                  }
              ),
            ),
模版广告
QuakerBirdAdExpress(
              androidId: "8461",
              iosId: "8461",
              width: 500,
              height: 300,
              callBack: QuakerBirdAdExpressCallBack(
                  onShow: (){
                    print("模版广告显示");
                  },
                  onError: (msg){
                    print("模版广告失败 $msg");
                  },
                  onClick: (){
                    print("模版广告点击");
                  },
                  onDismiss: (){
                    print("模版广告关闭");
                    Navigator.pop(context);
                  },
                  onStatus: (type,platform,status,msg){
                    print("模版广告状态 类型:$type  平台:$platform  状态:$status  错误消息 (失败时有效):$msg");
                  }
              ),
            ),
模版视频广告
QuakerBirdAdExpressDraw(
              androidId: "8517",
              iosId: "8517",
              width: 500,
              height: 300,
              callBack: QuakerBirdAdExpressDrawCallBack(
                  onShow: (){
                    print("模版视频广告显示");
                  },
                  onError: (msg){
                    print("模版视频广告失败 $msg");
                  },
                  onClick: (){
                    print("模版视频广告点击");
                  },
                  onDismiss: (){
                    print("模版视频广告关闭");
                    Navigator.pop(context);
                  },
                  onStatus: (type,platform,status,msg){
                    print("模版视频广告状态 类型:$type  平台:$platform  状态:$status  错误消息 (失败时有效):$msg");
                  }
              ),
            ),
插屏广告
请求广告
QuakerBirdAd.loadInteractionAd(androidId: "11087", iosId: "11087");
监听结果
FlutterUnionadStream.initAdStream(
    rewardCallBack: QuakerBirdAdRewardCallBack(
        onShow: () {
          print("激励广告显示");
        },
        onError: (msg) {
          print("激励广告失败 $msg");
        },
        onClick: () {
          print("激励广告点击");
        },
        onDismiss: () {
          print("激励广告关闭");
        },
        onStatus: (type, platform, status, msg) {
          print("激励广告状态 类型:$type  平台:$platform  状态:$status  错误消息 (失败时有效):$msg");
        },
        onReward: (type) {
          print("激励广告奖励 $type");
        },
    ),
);
全屏广告
请求广告
 QuakerBirdAd.loadFullScreenAd(androidId: "8811", iosId: "8811");
监听结果
FlutterUnionadStream.initAdStream(
    fullScreenCallBack: QuakerBirdAdFullScreenCallBack(
        onShow: () {
          print("全屏广告显示");
        },
        onError: (msg) {
          print("全屏广告失败 $msg");
        },
        onClick: () {
          print("全屏广告点击");
        },
        onDismiss: () {
          print("全屏广告关闭");
        },
        onStatus: (type, platform, status, msg) {
          print("全屏广告状态 类型:$type  平台:$platform  状态:$status  错误消息 (失败时有效):$msg");
        },
    ),
);
激励广告
请求广告
 QuakerBirdAd.loadRewardVideoAd(androidId: "1028", iosId: "1028");
监听结果
FlutterUnionadStream.initAdStream(
    rewardCallBack: QuakerBirdAdRewardCallBack(
        onShow: () {
          print("激励广告显示");
        },
        onError: (msg) {
          print("激励广告失败 $msg");
        },
        onClick: () {
          print("激励广告点击");
        },
        onDismiss: () {
          print("激励广告关闭");
        },
        onStatus: (type, platform, status, msg) {
          print("激励广告状态 类型:$type  平台:$platform  状态:$status  错误消息 (失败时有效):$msg");
        },
        onReward: (type) {
          print("激励广告奖励 $type");
        },
    ),
);
                      
                      
                    
            
          
评论区