跳至主要内容

Android Banner Ads SDK8

TAmedia Banner廣告支援下列數種形式:

廣告格式大小(寬度x高度)TWMAdSize 常數值
BANNER320x50TWMAdSize.BANNER
BANNER300x250TWMAdSize.BANNER_300X250
BANNER1200x627TWMAdSize.BANNER_1200X627
SMART_BANNER自動對應裝置寬度, 並對應適當的高度TWMAdSize.SMART_BANNER

SDK設計文件​

Banner

實作方式​

  • 廣告初始設置

動態生成TWMAdView加入Layout中

Layout (XML範例)

Activity(Kotlin)

 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout
   android:id="@+id/ad_container"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:gravity="center_horizontal">
 </RelativeLayout> 

 var adView: TWMAdView? = null
 var mRelativeLayout: RelativeLayout? = null
 
 companion object {  
     const val TAMEDIA_BANNER_AD_UNIT_ID: String = "INSERT_YOUR_AD_UNIT_ID"
 }
 // Other Implement ... 
 
 // 依序傳入Activity, TWMAdSize, 以及Ad Unit Id,TWMAdSize請參考頁首的TWMAdSize常數值
 adView = TWMAdView(this,TWMAdSize.BANNER,TAMEDIA_BANNER_AD_UNIT_ID)
 val layoutParams = RelativeLayout.LayoutParams(
     RelativeLayout.LayoutParams.WRAP_CONTENT,
     RelativeLayout.LayoutParams.WRAP_CONTENT
 )
 layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM)
 layoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL)
 adView

或是將TWMAdView宣告至XML中, 透過findViewById取得TWMAdView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical" >
   <com.taiwanmobile.pt.adp.view.TWMAdView
       xmlns:ad="http://schemas.android.com/apk/lib/com.taiwanmobile.pt.adp.view"
       android:id="@+id/adView"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       ad:adSize="BANNER"
       ad:adunitId="{AD_UNIT_ID}" >
   </com.taiwanmobile.pt.adp.view.TWMAdView>
</LinearLayout>

  • 加入TWMAdViewListener監聽廣告投放情況

 adView.setAdListener(object : TWMAdViewListener {
    override fun onReceiveAd(ad: TWMAd) {
         // 表示本次請求收到廣告
    }
    override fun onFailedToReceiveAd(ad: TWMAd, errorCode: TWMAdRequest.ErrorCode) {
         // 表示本次請求發生錯誤, 並沒有廣告內容可供使用
    }
    override fun onPresentScreen(ad: TWMAd) {
         // 表示廣告內容已呈現
    }
    override fun onDismissScreen(ad: TWMAd) {
         // 表示廣告內容已被關閉
    }
    override fun onLeaveApplication(ad: TWMAd) {
         // 表示因點擊廣告或其他因素離開app
    }
 })

  • 請求廣告

請求廣告前,你需要創建一個預設的TWMAdRequest物件, 並將TWMAdReqeust物件傳入loadAd

adView?.loadAd(TWMAdRequest())

最後請記得, 於Activity.onDestroy()回收TWMAdView物件

override fun onDestroy() {
super.onDestroy()
if (view is TWMAdView) {
view.destroy()
}
mRelativeLayout?.removeAllViews()
}

畫面展示​

應用程式開啟

點擊Banner後開啟網頁

點擊Banner後撥打電話

SDK8_banner.png
SDK8_banner_click.png
4.png

Compose new-xxl.png​

可參考SDK下載包中之Compose範例程式(BannerComposeActivity), TWMBannerComposable()中有完整的使用方式與介紹

應用程式開啟

點擊Banner後開啟網頁

無廣告內容

SDK8.0.7_banner.png
SDK8.0.7_banner_click.png
SDK8.0.7_banner_no_fill.png

將應用程式的廣告請求標記為兒童導向內容(13 歲以下)​

TWMAdRequest

請於廣告請求時透過TWMAdRequest.setChildDirectedTreatment()告知SDK該廣告標記為兒童導向內容

Android裝置的Google廣告ID (AAID) 於此模式時不會被存取與紀錄

val adView: TWMAdView = TWMAdView(activity, adSize, adunitId)
val paramAd = RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
)
paramAd.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM)
paramAd.addRule(RelativeLayout.CENTER_HORIZONTAL)
adView?.layoutParams = paramAd
adView?.visibility = View.INVISIBLE
container?.addView(adView)

adView?.loadAd(adRequest.apply {
setChildDirectedTreatment(true)
})

回首頁