「Android Banner Ads SDK8」修訂間的差異

出自TAMedia
跳至導覽 跳至搜尋
imported>Wikiuser
(新頁面: == <b>Banner SD8 廣告支援格式</b> == :<span style="font-size:16px;">TAMedia Banner廣告支援下列數種形式:</span> {| class="wikitable" style="width:50%" |- ! 廣告格...)
 
 
(未顯示由 1 位使用者於中間所作的 10 次修訂)
行 1: 行 1:
== <b>Banner SD8 廣告支援格式</b> ==
== <b>Banner 廣告支援格式</b> ==
:<span style="font-size:16px;">TAMedia Banner廣告支援下列數種形式:</span>
:<span style="font-size:16px;">TAmedia Banner廣告支援下列數種形式:</span>
{| class="wikitable" style="width:50%"  
{| class="wikitable" style="width:50%"  
|-
|-
行 14: 行 14:
|}
|}
<br><br>
<br><br>
== <b>SDK設計文件</b> ==
[http://wiki.tamedia.com.tw/androidDoc/library/com.taiwanmobile.pt.adp.view/-t-w-m-ad-view/index.html Banner]
<br>
<br><br>
== <b>實作方式</b> ==
== <b>實作方式</b> ==
*<span style="font-size:16px;">廣告初始設置</span>
*<span style="font-size:16px;">廣告初始設置</span>
:動態生成TWMAdView加入Layout中


{| class="wikitable"
{| class="wikitable"
行 50: 行 58:
|}
|}


:<b><span style="color:#ff0000">重要, 針對SDK 2.0後,請在Activity的生命週期中加入下述的呼叫,以便取得更好的服務經驗</span></b>
:或是將TWMAdView宣告至XML中, 透過findViewById取得TWMAdView
  override fun onDestroy() {
<?xml version="1.0" encoding="utf-8"?>
         if (view is TWMAdView) {
<LinearLayout xmlns:android=<nowiki>"http://schemas.android.com/apk/res/android"</nowiki>
          view.destroy()
    android:layout_width="match_parent"
         }
    android:layout_height="match_parent"
         mRelativeLayout?.removeAllViews()
    android:orientation="vertical" >
         super.onDestroy()
    <com.taiwanmobile.pt.adp.view.TWMAdView
     }
        xmlns:ad=<nowiki>"http://schemas.android.com/apk/lib/com.taiwanmobile.pt.adp.view"</nowiki>
 
        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>


<br><br>
*<span style="font-size:16px;">加入TWMAdViewListener監聽廣告投放情況</span>
*<span style="font-size:16px;">加入TWMAdViewListener監聽廣告投放情況</span>
   adView.setAdListener(object : TWMAdViewListener {
   adView.setAdListener(object : TWMAdViewListener {
行 105: 行 118:
   adView?.loadAd(adRequest)
   adView?.loadAd(adRequest)
| style="width:40%; padding: 1%;"|
| style="width:40%; padding: 1%;"|
   <b>// 創建Calendar並設定生日 (注意! 月份的編號是由0至11)</b>
   <b>// 創建Calendar設定生日 (注意! 月份的編號是由0至11)</b>
   val birthDate = Calendar.getInstance()
   val birthDate = Calendar.getInstance()
   <b>// 設定生日為1992/01/01</b>
   <b>// 設定生日為1992/01/01</b>
行 117: 行 130:
   adView?.loadAd(adRequest)
   adView?.loadAd(adRequest)
|}
|}
<br><br>
:<b><span style="color:#ff0000">最後請記得, 於Activity.onDestroy()回收TWMAdView物件</span></b>
<source>
    override fun onDestroy() {
        super.onDestroy()
        if (view is TWMAdView) {
            view.destroy()
        }
        mRelativeLayout?.removeAllViews()
    }
</source>
<br><br>
<br><br>


行 132: 行 158:


<br><br>
<br><br>
[[Android SDK Developer Guide 2 | 回首頁]]
 
== <b>將應用程式的廣告請求標記為兒童導向內容(13 歲以下)</b> ==
<br>
[http://wiki.tamedia.com.tw/androidDoc/library/com.taiwanmobile.pt.adp.view/-t-w-m-ad-request/index.html TWMAdRequest]
<br>
<br>
 
:請於廣告請求時透過TWMAdRequest.setChildDirectedTreatment()告知SDK該廣告標記為兒童導向內容
:Android裝置的Google廣告ID (AAID) 於此模式時不會被存取與紀錄
 
<source>
        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)
        })
</source>
 
[[SDK8_Android_SDK_Developer_Guide | 回首頁]]

於 2022年4月29日 (五) 22:21 的最新修訂

TAmedia Banner廣告支援下列數種形式:
廣告格式 大小(寬度x高度) TWMAdSize 常數值
BANNER 320x50 TWMAdSize.BANNER
BANNER 300x250 TWMAdSize.BANNER_300X250
BANNER 1200x627 TWMAdSize.BANNER_1200X627
SMART_BANNER 自動對應裝置寬度, 並對應適當的高度 TWMAdSize.SMART_BANNER



SDK設計文件

Banner



實作方式

  • 廣告初始設置
動態生成TWMAdView加入Layout中
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)
或是將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())	


或是,透過TWMAdRequest額外設置使用者生日,可讓您的APP獲得更多元的廣告內容
使用Date 使用Calendar
 val request = TWMAdRequest()
 try {
 	// 定義好時間字串的格式
 	val sdf = SimpleDateFormat("yyyy/MM/dd", Locale.getDefault())
 	// 將字串轉成Date型
 	val birthDate: Date = sdf.parse("1992/01/01")
 	// 將生日加入request
 	request.setBirthday(birthDate)
 } catch (Exception e) {}
 
 // 透過TWMAdRequest載入廣告
 adView?.loadAd(adRequest)
 // 創建Calendar設定生日 (注意! 月份的編號是由0至11)
 val birthDate = Calendar.getInstance()
 // 設定生日為1992/01/01
 birthDate[1992, 1] = 1
 
 // 將生日加入request
 val adRequest = TWMAdRequest()
 request.setBirthday(birthDate)
 
 // 透過TWMAdRequest載入廣告
 adView?.loadAd(adRequest)



最後請記得, 於Activity.onDestroy()回收TWMAdView物件
    override fun onDestroy() {
        super.onDestroy()
        if (view is TWMAdView) {
            view.destroy()
        }
        mRelativeLayout?.removeAllViews()
    }



畫面展示

應用程式開啟 點擊Banner後開啟網頁 點擊Banner後撥打電話
SDK8 banner.png SDK8 banner click.png 4.png



將應用程式的廣告請求標記為兒童導向內容(13 歲以下)


TWMAdRequest

請於廣告請求時透過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)
        })

回首頁