Android Banner Ads 3.0 SDK8
於 2021年9月9日 (四) 10:00 由 imported>Wikiuser 所做的修訂 (→實作方式)
Banner SD8 廣告支援格式
- TAMedia Banner廣告支援下列數種形式:
| 廣告格式 | 大小(寬度x高度) | TWMAdSize 常數值 |
|---|---|---|
| BANNER | 320x50 | TWMAdSize.BANNER |
| BANNER | 300x250 | TWMAdSize.BANNER_300X250 |
| BANNER | 1200x627 | TWMAdSize.BANNER_1200X627 |
| SMART_BANNER | 自動對應裝置寬度, 並對應適當的高度 | TWMAdSize.SMART_BANNER |
實作方式
- 廣告初始設置
| 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!!.layoutParams = layoutParams
mRelativeLayout?.addView(adView)
|
- 重要, 針對SDK 2.0後,請在Activity的生命週期中加入下述的呼叫,以便取得更好的服務經驗
override fun onDestroy() {
if (view is TWMAdView) {
view.destroy()
}
mRelativeLayout?.removeAllViews()
super.onDestroy()
}
- 加入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())
- 或是,透過TWMAdRequest額外設置使用者生日,可讓您的APP獲得更多元的廣告內容
| 使用Date | 使用Calendar |
|---|---|
TWMAdRequest request = new TWMAdRequest();
try {
//定義好時間字串的格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.getDefault());
//將字串轉成Date型
Date birthDate = sdf.parse("1992/01/01");
// 將生日加入request
request.setBirthday(birthDate);
}catch (Exception e) {}
// 透過TWMAdRequest載入廣告
adView.loadAd(request);
|
// 創建Calerdar並設定生日 (注意! 月份的編號是由0至11) Calendar birthDate = Calendar.getInstance(); // 設定生日為1992/01/01 birthDate.set(1992, 0, 1); // 將生日加入request TWMAdRequest request = new TWMAdRequest(); request.setBirthday(birthDate); // 透過TWMAdRequest載入廣告 adView.loadAd(request); |
畫面展示
| 應用程式開啟 | 點擊Banner後開啟網頁 | 點擊Banner後撥打電話 |
|
|
|


