「Android Interstitial Ads 2.0 SDK8」修訂間的差異

出自TAMedia
跳至導覽 跳至搜尋
imported>Wikiuser
(新頁面: == <b>簡介</b> == SDK8 :<span style="font-size:16px;">TWMInterstitialAd為全螢幕大小之廣告, 使用方法跟TWMAdView非常類似, 顯示廣告時需在onReceivedAd()之後呼...)
 
imported>Wikiuser
 
(未顯示同一使用者於中間所作的 10 次修訂)
行 6: 行 6:
== <b>實作方式</b> ==
== <b>實作方式</b> ==
*<span style="font-size:16px;">廣告初始設置</span>
*<span style="font-size:16px;">廣告初始設置</span>
  TWMInterstitialAd twmInterstitial = new TWMInterstitialAd(this, <b>"{YOUR_AD_UNIT_ID}"</b>);
  var interstitialAd : TWMInterstitialAd? = null
interstitialAd = TWMInterstitialAd(this ,TAMEDIA_INTERSTITIAL_ADUNITID)
companion object{
        const val TAMEDIA_INTERSTITIAL_ADUNITID: String = "<b>{TAMEDIA_INTERSTITIAL_ADUNITID}</b>"
}
<br><br>
<br><br>


*<span style="font-size:16px;">加入TWMAdViewListener監聽廣告投放情況,並在onReceiveAd Callback內呼叫showAd()</span>
*<span style="font-size:16px;">加入TWMAdViewListener監聽廣告投放情況,並在onReceiveAd Callback內呼叫showAd()</span>
:在<b>onReceiveAd</b>後可透過<b>showAd()</b>顯示廣告
:在<b>onReceiveAd</b>後可透過<b>showAd()</b>顯示廣告
  twmInterstitial.setAdListener(new TWMAdViewListener() {
  interstitialAd.setAdListener(object : TWMAdViewListener {
  @Override
    override fun onReceiveAd(ad: TWMAd) {
  public void onReceiveAd(TWMAd paramTWMAd) {
          <b>// 表示本次請求收到廣告</b>
      // 顯示 interstitial
          interstitialAd?.show()
      if(paramTWMAd == twmInterstitial){
    }
        twmInterstitial.show();
    override fun onFailedToReceiveAd(ad: TWMAd, errorCode: TWMAdRequest.ErrorCode) {
      }
          <b>// 表示本次請求發生錯誤, 並沒有廣告內容可供使用</b>
  }
    }
  @Override
    override fun onPresentScreen(ad: TWMAd) {
  public void onFailedToReceiveAd(TWMAd paramTWMAd, ErrorCode paramErrorCode) {}
          <b>// 表示廣告內容已呈現</b>
  @Override
    }
  public void onPresentScreen(TWMAd paramTWMAd) {}
    override fun onDismissScreen(ad: TWMAd) {
  @Override
          <b>// 表示廣告內容已被關閉</b>
  public void onDismissScreen(TWMAd paramTWMAd) {}
    }
  @Override
    override fun onLeaveApplication(ad: TWMAd) {
  public void onLeaveApplication(TWMAd paramTWMAd) {}
          <b>// 表示因點擊廣告或其他因素離開app</b>
  });
    }
})
<br><br>
<br><br>


*<span style="font-size:16px;">建立 TWMAdRequest</span>
*<span style="font-size:16px;">請求廣告</span>
:請求廣告前,你需要創建一個TWMAdRequest物件
:請求廣告前,你需要創建一個預設的TWMAdRequest物件
   TWMAdRequest request = new TWMAdRequest();
:並將TWMAdReqeust物件傳入loadAd
   interstitialAd?.loadAd(TWMAdRequest())


:若額外設置使用者生日,可讓您的APP獲得更多元的廣告內容<br>
:或是,透過TWMAdRequest設置使用者生日,讓您的APP獲得更多元的廣告內容<br>
{| class="wikitable"
{| class="wikitable"
|-
|-
行 40: 行 46:
|-
|-
| style="width:60%; padding:1%;"|
| style="width:60%; padding:1%;"|
   TWMAdRequest request = new TWMAdRequest();
   val adRequest = TWMAdRequest()
   try {
   try {
  <b>//定義好時間字串的格式</b>
      <b>// 定義好時間字串的格式</b>
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.getDefault());
      val sdf = SimpleDateFormat("yyyy/MM/dd", Locale.getDefault())
  <b>//將字串轉成Date型</b>
      <b>// 將字串轉成Date型</b>
  Date birthDate = sdf.parse("1992/01/01");
      val birthDate: Date = sdf.parse("1992/01/01")
  <b>// 將生日加入request</b>
      <b>// 將生日加入request</b>
  request.setBirthday(birthDate);
      request.setBirthday(birthDate)
   }catch (Exception e) {}
   } catch (e: Exception) {}
 
  <b>// 透過TWMAdRequest載入廣告</b>
  twmInterstitial.loadAd(request)
| style="width:40%; padding: 1%;"|
| style="width:40%; padding: 1%;"|
   <b>// 創建Calerdar並設定生日 (注意! 月份的編號是由0至11)</b>
   <b>// 創建Calendar並設定生日 (注意! 月份的編號是由0至11)</b>
   Calendar birthDate = Calendar.getInstance();
   val birthDate = Calendar.getInstance()
   <b>// 設定生日為1992/01/01</b>
   <b>// 設定生日為1992/01/01</b>
   birthDate.set(1992, 0, 1);
   birthDate[1992, 1] = 1
    
    
   <b>// 將生日加入request</b>
   <b>// 將生日加入request</b>
   TWMAdRequest request = new TWMAdRequest();
   val request = TWMAdRequest()
   request.setBirthday(birthDate);
   request.setBirthday(birthDate)
 
  <b>// 透過TWMAdRequest載入廣告</b>
  twmInterstitial.loadAd(request)
|}
|}
<br><br>
<br><br>


*<span style="font-size:16px;">請求廣告</span>
  twmInterstitial.loadAd(request);
*<span style="font-size:16px;">若需要進行廣告投放的測試,可使用測試模式來請求廣告, ※測試模式將不會紀錄任何的曝光以及點擊數據</span>
  String deviceId = getDeviceId(getBaseContext());
  twmInterstitial.loadAd(new TWMAdRequest().addTestDevice(deviceId));
  private String getDeviceId(final Context context) {
    String deviceId = null;
    try {
        deviceId = android.provider.Settings.Secure.getString(context.getContentResolver(), Secure.ANDROID_ID);
        if (deviceId!= null) {
          return convertToMD5ID(deviceId);
        }
    } catch (Exception e) {
        Log.e("getDeviceId", e.getMessage(), e);
    }
    return deviceId;
  }
 
  private String convertToMD5ID(final String string) {
    if (string == null) {
        return null;
    }
    try {
        MessageDigest md = MessageDigest.getInstance("MD5");
        md.update(string.getBytes());
        BigInteger number = new BigInteger(1, md.digest());
        String md5 = number.toString(16);
        while (md5.length() < 32)
          md5 = "0" + md5;
        return md5;
    } catch (NoSuchAlgorithmException e) {
        return null;
    }
  }
<br><br>
<br><br>


行 105: 行 80:
| align="center" | 插頁式廣告呈現
| align="center" | 插頁式廣告呈現
|-
|-
| align="center" | [[檔案:device-2014-06-03-180204.png]]
| align="center" | [[檔案:SDK8 inerstitial.png]]
|}
|}


<br><br>
<br><br>
[[Android SDK Developer Guide 2 | 回首頁]]
[[Android SDK Developer Guide 2 | 回首頁]]

於 2021年9月10日 (五) 07:14 的最新修訂

簡介

SDK8

TWMInterstitialAd為全螢幕大小之廣告, 使用方法跟TWMAdView非常類似, 顯示廣告時需在onReceivedAd()之後呼叫show()函式以便顯示
注意:目前Interstitial廣告有相同版位ID在同一台裝置上,預設為120分鐘展示一次,如需調整請洽服務窗口



實作方式

  • 廣告初始設置
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畫面展示

插頁式廣告呈現
SDK8 inerstitial.png



回首頁