「Android Interstitial Ads 2.0 SDK8」修訂間的差異
跳至導覽
跳至搜尋
imported>Wikiuser (新頁面: == <b>簡介</b> == SDK8 :<span style="font-size:16px;">TWMInterstitialAd為全螢幕大小之廣告, 使用方法跟TWMAdView非常類似, 顯示廣告時需在onReceivedAd()之後呼...) |
imported>Wikiuser |
||
| 行 6: | 行 6: | ||
== <b>實作方式</b> == | == <b>實作方式</b> == | ||
*<span style="font-size:16px;">廣告初始設置</span> | *<span style="font-size:16px;">廣告初始設置</span> | ||
var interstitialAd : TWMInterstitialAd? = null | |||
TWMInterstitialAd twmInterstitial = new TWMInterstitialAd(this, <b>"{YOUR_AD_UNIT_ID}"</b>); | TWMInterstitialAd twmInterstitial = new TWMInterstitialAd(this, <b>"{YOUR_AD_UNIT_ID}"</b>); | ||
interstitialAd = TWMInterstitialAd(this ,TAMEDIA_INTERSTITIAL_ADUNITID) | |||
companion object{ | |||
const val TAMEDIA_INTERSTITIAL_ADUNITID: String = "{TAMEDIA_INTERSTITIAL_ADUNITID}" | |||
} | |||
<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>顯示廣告 | ||
interstitialAd.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 並不使用本介面功能 | |||
} | |||
}) | |||
<br><br> | <br><br> | ||
*<span style="font-size:16px;">建立 TWMAdRequest</span> | *<span style="font-size:16px;">建立 TWMAdRequest</span> | ||
:請求廣告前,你需要創建一個TWMAdRequest物件 | :請求廣告前,你需要創建一個TWMAdRequest物件 | ||
interstitialAd?.loadAd(TWMAdRequest()) | |||
:若額外設置使用者生日,可讓您的APP獲得更多元的廣告內容<br> | :若額外設置使用者生日,可讓您的APP獲得更多元的廣告內容<br> | ||
| 行 40: | 行 46: | ||
|- | |- | ||
| style="width:60%; padding:1%;"| | | style="width:60%; padding:1%;"| | ||
val adRequest = TWMAdRequest() | |||
try { | try { | ||
//定義好時間字串的格式 | |||
val sdf = SimpleDateFormat("yyyy/MM/dd", Locale.getDefault()) | |||
//將字串轉成Date型 | |||
val birthDate: Date = sdf.parse("1992/01/01") | |||
// 將生日加入request | |||
request.setBirthday(birthDate) | |||
}catch (Exception | }catch (e: Exception) {} | ||
| style="width:40%; padding: 1%;"| | | style="width:40%; padding: 1%;"| | ||
<b>// 創建Calerdar並設定生日 (注意! 月份的編號是由0至11)</b> | <b>// 創建Calerdar並設定生日 (注意! 月份的編號是由0至11)</b> | ||
val birthDate = Calendar.getInstance() | |||
<b>// 設定生日為1992/01/01</b> | <b>// 設定生日為1992/01/01</b> | ||
birthDate | birthDate[1992, 0] = 1 | ||
<b>// 將生日加入request</b> | <b>// 將生日加入request</b> | ||
val request = TWMAdRequest() | |||
request.setBirthday(birthDate) | request.setBirthday(birthDate) | ||
|} | |} | ||
<br><br> | <br><br> | ||
於 2021年8月26日 (四) 12:46 的修訂
簡介
SDK8
- TWMInterstitialAd為全螢幕大小之廣告, 使用方法跟TWMAdView非常類似, 顯示廣告時需在onReceivedAd()之後呼叫show()函式以便顯示
注意:目前Interstitial廣告有相同版位ID在同一台裝置上,預設為120分鐘展示一次,如需調整請洽服務窗口
實作方式
- 廣告初始設置
var interstitialAd : TWMInterstitialAd? = null
TWMInterstitialAd twmInterstitial = new TWMInterstitialAd(this, "{YOUR_AD_UNIT_ID}");
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(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 並不使用本介面功能
}
})
- 建立 TWMAdRequest
- 請求廣告前,你需要創建一個TWMAdRequest物件
interstitialAd?.loadAd(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) {}
|
// 創建Calerdar並設定生日 (注意! 月份的編號是由0至11) val birthDate = Calendar.getInstance() // 設定生日為1992/01/01 birthDate[1992, 0] = 1 // 將生日加入request val request = TWMAdRequest() request.setBirthday(birthDate) |
- 請求廣告
twmInterstitial.loadAd(request);
- 若需要進行廣告投放的測試,可使用測試模式來請求廣告, ※測試模式將不會紀錄任何的曝光以及點擊數據
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;
}
}
Interstitial畫面展示
| 插頁式廣告呈現 |
|
