Android FloatAds
跳至導覽
跳至搜尋
- 宣告懸浮廣告(FloatAd)廣告版位
FloatAd將以懸浮方式顯示在您的頁面之上,您不需要在您的layout XML預先設定或是在程式內動態addView。
請求廣告方法跟TWMAdView相同,透過loadAd方法產生廣告請求,請求成功後會自動將廣告呈現在畫面上,並依據您的版位呈現動畫效果。
懸浮廣告的動畫效果有自動呈現和手動點擊後呈現兩種,請洽服務窗口了解更多詳情。
// 依序傳入Activity, Ad Unit Id, 第三個參數為boolean值, 若您希望您的廣告呈現在畫面的左邊, 請傳入true, 右邊請傳入false TWMFloatAdView floatAdView = new TWMFloatAdView(this, AD_UNIT_ID, isLeftSide); floatAdView.loadAd(new TWMAdRequest());
(Optional) 在載入廣告前,可以透過TWMAdRequest設置使用者生日,讓您的APP獲得更多元的廣告內容
| 使用Date | 使用Calendar |
|---|---|
TWMAdRequest request = new TWMAdRequest();
try {
//定義好時間字串的格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.getDefault());
//將字串轉成Date型
Date birthDate = sdf.parse("1992/01/01");
// 將生日加入request
request.setBirthday(birthDate);
}catch (Exception e) {}
// 透過TWMAdRequest載入廣告
floatAdView.loadAd(request);
|
// 創建Calerdar並設定生日 (注意! 月份的編號是由0至11) Calendar birthDate = Calendar.getInstance(); // 設定生日為1992/01/01 birthDate.set(1992, 0, 1); // 將生日加入request TWMAdRequest request = new TWMAdRequest(); request.setBirthday(birthDate); // 透過TWMAdRequest載入廣告 floatAdView.loadAd(request); |
重要, 請在Activity的生命週期中加入下述的呼叫, 以正確release FloatAd
@Override
protected void onDestroy() {
if(floatAdView != null) {
// 呼叫TWMFloatAdView.destroy()
floatAdView.destroy();
}
super.onDestroy();
}
@Override
protected void onResume() {
if(floatAdView != null) {
// 呼叫TWMFloatAdView.resume()
floatAdView.resume();
}
super.onResume();
}
@Override
protected void onPause() {
if(floatAdView != null) {
// 呼叫TWMFloatAdView.pause()
floatAdView.pause();
}
super.onPause();
}
- 加入TWMAdViewListener監聽廣告投放情況
floatAdView.setAdListener(new TWMAdViewListener(){
public void onReceiveAd(TWMAd ad){
// 成功收到廣告時通知
}
public void onFailedToReceiveAd(TWMAd ad, TWMAdRequest.ErrorCode errorCode){
// 當請求廣告失敗時通知
}
public void onPresentScreen(TWMAd ad){
// 當用戶點擊廣告時通知
}
public void onDismissScreen(TWMAd ad){
// 用戶關閉因點擊廣告所產生的新Activity將要把控制權交給應用程式時通知
}
public void onLeaveApplication(TWMAd ad){
// 用戶點擊廣告後,將要啟動新的應用程式時通知
}
});
- 若需要進行廣告投放的測試,可使用測試模式來請求廣告, ※測試模式將不會紀錄任何的曝光以及點擊數據
String deviceId = getDeviceId(getBaseContext()); floatAdView.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;
}
}
- FloatAd畫面展示
| 未展開 | 展開 |
|
|

