Android Interstitial Ads SDK8
於 2021年11月17日 (三) 06:26 由 imported>Wikiuser 所做的修訂
簡介
SDK8
- TWMInterstitialAd為全螢幕大小之廣告, 使用方法跟TWMAdView非常類似, 顯示廣告時需在onReceivedAd()之後呼叫show()函式以便顯示
注意:目前Interstitial廣告有相同版位ID在同一台裝置上,預設為120分鐘展示一次,如需調整請洽服務窗口
SDK Document
實作方式
- 廣告初始設置
var interstitialAd : TWMInterstitialAd? = null interstitialAd = TWMInterstitialAd(this ,TAMEDIA_INTERSTITIAL_ADUNITID) companion object{ const val TAMEDIA_INTERSTITIAL_ADUNITID: String = "{TAMEDIA_INTERSTITIAL_ADUNITID}" }
- 加入TWMAdViewListener監聽廣告投放情況,並在onReceiveAd Callback內呼叫showAd()
- 在onReceiveAd後可透過showAd()顯示廣告
interstitialAd.setAdListener(object : TWMAdViewListener { override fun onReceiveAd(ad: TWMAd) { // 表示本次請求收到廣告 interstitialAd?.show() } 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
interstitialAd?.loadAd(TWMAdRequest())
- 或是,透過TWMAdRequest設置使用者生日,讓您的APP獲得更多元的廣告內容
使用Date | 使用Calendar |
---|---|
val adRequest = TWMAdRequest() try { // 定義好時間字串的格式 val sdf = SimpleDateFormat("yyyy/MM/dd", Locale.getDefault()) // 將字串轉成Date型 val birthDate: Date = sdf.parse("1992/01/01") // 將生日加入request request.setBirthday(birthDate) } catch (e: Exception) {} // 透過TWMAdRequest載入廣告 twmInterstitial.loadAd(request) |
// 創建Calendar並設定生日 (注意! 月份的編號是由0至11) val birthDate = Calendar.getInstance() // 設定生日為1992/01/01 birthDate[1992, 1] = 1 // 將生日加入request val request = TWMAdRequest() request.setBirthday(birthDate) // 透過TWMAdRequest載入廣告 twmInterstitial.loadAd(request) |
Interstitial畫面展示
插頁式廣告呈現 |
將應用程式的廣告請求標記為兒童導向內容(13 歲以下)
- 請於廣告請求時透過TWMAdRequest.setChildDirectedTreatment()告知SDK該廣告標記為兒童導向內容
- Android裝置的Google廣告ID (AAID) 於此模式時不會被存取與紀錄
val interstitialAd: TWMInterstitialAd = TWMInterstitialAd(activity, adUnitId)
interstitialAd.setAdListener(this)
interstitialAd.loadAd(TWMAdRequest().apply {
setChildDirectedTreatment(true)
})