Android InRead Ads SDK8

出自TAMedia
於 2021年8月27日 (五) 07:12 由 imported>Wikiuser 所做的修訂
跳至導覽 跳至搜尋

簡介

InRead廣告是SDK8新增的內嵌式廣告, 您可將廣告放置在文章、列表中, 當App使用者滑動到您指定的位置時便可看見InRead廣告, 若該廣告為影音廣告, 會等待廣告出現在畫面中才會進行撥放。
InRead廣告為:
  • Anchor: 固定在螢幕下方的廣告, 廣告高度不會超過螢幕的30%


在投放限制方面,由於不同版本的手機支援程度不同,InRead廣告僅會投放在符合下列條件的手機:
  1. Android 5.0 (API 21) 以上
  2. Android System WebView 版本43 以上


而在介接方式上, Anchor與懸浮廣告相似, 下列章節將說明如何串接InRead廣告


廣告串接方式

Anchor

Anchor廣告, 不需事先設置XML或透過程式動態加入廣告View(addView), 只要直接初始InRead物件並請求廣告即可。

Step 1: 廣告初始設置

您必須依序輸入ActivityInRead Anchor版位ID以初始化InRead物件, 並且設置Listener偵聽廣告的Callback
重要! 請務必在onResume、onPause和onDestroy分別加上resume、pause和destroy函式, 避免廣告發生無法預期的問題
 class InReadActivityKt:AppCompatActivity() {
   private var mTestResult: TextView? =null
   private var anchorView: TWMInReadAdAnchor? = null
   override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       setContentView(R.layout.activity_inread)
       mTestResult = findViewById(R.id.inread_result)
       initAd()
   }
   private fun initAd() {
       anchorView = TWMInReadAdAnchor(this,TAMEDIA_INREAD_ANCHOR_ADUNITID)
       anchorView.apply { anchorView?.setAdListener(this@InReadActivityKt) }
       anchorView?.loadAd(TWMAdRequest())
   }
   override fun onResume() {
       super.onResume()
       anchorView?.resume()
   }
   override fun onPause() {
       super.onPause()
       anchorView?.pause()
   }
   override fun onDestroy() {
       anchorView?.destroy()
       super.onDestroy()
   }
  anchorView.setAdListener(object : TWMAdViewListener {
    override fun onReceiveAd(paramTWMAd: TWMAd) {
       // 表示本次請求收到廣告,
       interstitialAd?.show()
    }
    override fun onFailedToReceiveAd(paramTWMAd: TWMAd?, paramErrorCode: ErrorCode?) {
       // 表示本次請求發生錯誤, 並沒有廣告內容可供使用
    }
    override fun onPresentScreen(paramTWMAd: TWMAd) {
       // native ad 並不使用本介面功能
    }
    override fun onDismissScreen(paramTWMAd: TWMAd) {
       // native ad 並不使用本介面功能
    }
    override fun onLeaveApplication(paramTWMAd: TWMAd) {
       // native ad 並不使用本介面功能
    }
  })
  companion object{
       const val TAMEDIA_INREAD_ANCHOR_ADUNITID: String = "{TAMEDIA_INREAD_ANCHOR_ADUNITID}"
   } 
 }


Step 2: 請求廣告

在您需要的地方呼叫loadAd以進行廣告請求
 // Request inread from TAMedia.
 anchorView?.loadAd(TWMAdRequest())


(Optional) 在請求廣告前,可以透過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載入廣告
 anchorView.loadAd(adRequest);
 // 創建Calerdar並設定生日 (注意! 月份的編號是由0至11)
 Calendar birthDate = Calendar.getInstance();
 // 設定生日為1992/01/01
 birthDate[1992, 0] = 1
 
 // 將生日加入request
 val request = TWMAdRequest()
 request.setBirthday(birthDate)
 
 // 透過TWMAdRequest載入廣告
 anchorView.loadAd(request);




硬體加速

HardWare Acceleration是Android 3.0 (API 11) 加入的feature,該選項在Android 4.0 (API 14)時預設是enable。由於部分InRead廣告會投放影音廣告,請不要將此選項關閉避免影音廣告無法呈現

如有需要在Application Level關閉此選項,請針對要投放InRead廣告的Activity開啟即可,範例如下:
 <application android:hardwareAccelerated="false" ...> <!-- 假使您需要在Application Level關閉hardwareAccelerated -->
    <activity ... />
    <activity
       android:name=".InReadActivity"
       android:hardwareAccelerated="true" ... >  <!-- 在欲投放InRead廣告的Activity打開此選項即可 -->
    </activity>
 </application>





廣告畫面展示

大圖式 300x250 Anchor
Android InRead 1200x627 Demo.png Android InRead MRECT Demo.png Android InRead Anchor Demo.png




回首頁