Android InRead Ads SDK8
跳至導覽
跳至搜尋
簡介
- InRead廣告是SDK8新增的內嵌式廣告, 您可將廣告放置在文章、列表中, 當App使用者滑動到您指定的位置時便可看見InRead廣告, 若該廣告為影音廣告, 會等待廣告出現在畫面中才會進行撥放。
- InRead廣告為:
- Anchor: 固定在螢幕下方的廣告, 廣告高度不會超過螢幕的30%
- 在投放限制方面,由於不同版本的手機支援程度不同,InRead廣告僅會投放在符合下列條件的手機:
- Android 5.0 (API 21) 以上
- Android System WebView 版本43 以上
- 而在介接方式上,下列章節將說明如何串接InRead廣告
SDK Document
廣告串接方式
Anchor
- Anchor廣告, 不需事先設置XML或透過程式動態加入廣告View(addView), 只要直接初始InRead物件並請求廣告即可。
Step 1: 廣告初始設置
- 您必須依序輸入Activity、InRead 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(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 } }) } anchorView?.loadAd(TWMAdRequest()) } override fun onResume() { super.onResume() anchorView?.resume() } override fun onPause() { super.onPause() anchorView?.pause() } override fun onDestroy() { anchorView?.destroy() super.onDestroy() } companion object{ const val TAMEDIA_INREAD_ANCHOR_ADUNITID: String = "{TAMEDIA_INREAD_ANCHOR_ADUNITID}" } }
Step 2: 請求廣告
- 請求廣告前,你需要創建一個預設的TWMAdRequest物件
- 並將TWMAdReqeust物件傳入loadAd
anchorView?.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載入廣告 anchorView.loadAd(adRequest); |
// 創建Calendar並設定生日 (注意! 月份的編號是由0至11) Calendar birthDate = Calendar.getInstance(); // 設定生日為1992/01/01 birthDate[1992, 1] = 1 // 將生日加入request val request = TWMAdRequest() request.setBirthday(birthDate) // 透過TWMAdRequest載入廣告 anchorView.loadAd(request); |
結束廣告
- destroy() 必須被呼叫, 即使TWMInReadAdAnchor沒有被使用到或參考
anchorView.destroy()
硬體加速
- 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>
廣告畫面展示
Anchor |
將應用程式的廣告請求標記為兒童導向內容(13 歲以下)
- 請於廣告請求時透過TWMAdRequest.setChildDirectedTreatment()告知SDK該廣告標記為兒童導向內容
- Android裝置的Google廣告ID (AAID) 於此模式時不會被存取與紀錄
val inread: TWMInReadAdAnchor = TWMInReadAdAnchor(activity, adUnitId)
inread.setAdListener(this)
inread.loadAd(TWMAdRequest().apply {
setChildDirectedTreatment(true)
})