Flutter應用整合騰訊優量匯廣告

gstory發表於2021-08-10

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("插屏廣告預載入未準備就緒");
        },
  ),
);
複製程式碼

相關文章