Android Banner Ads SDK8
Banner 廣告支援格式
- TAmedia Banner廣告支援下列數種形式:
廣告格式 |
大小(寬度x高度) |
TWMAdSize 常數值 |
|---|---|---|
BANNER |
320x50 |
TWMAdSize.BANNER |
BANNER |
300x250 |
TWMAdSize.BANNER_300X250 |
BANNER |
1200x627 |
TWMAdSize.BANNER_1200X627 |
SMART_BANNER |
自動對應裝置寬度, 並對應適當的高度 |
TWMAdSize.SMART_BANNER |
SDK設計文件
實作方式
- 廣告初始設置
- 動態生成TWMAdView加入Layout中
Layout (XML範例) |
Activity(Kotlin) |
|---|---|
|
|
- 或是將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後撥打電話 |
|
|
|
Compose 
可參考SDK下載包中之Compose範例程式(BannerComposeActivity), TWMBannerComposable()中有完整的使用方式與介紹
應用程式開啟 |
點擊Banner後開啟網頁 |
無廣告內容 |
|
|
|
將應用程式的廣告請求標記為兒童導向內容(13 歲以下)
- 請於廣告請求時透過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)
})