Android FloatAds
於 2016年8月15日 (一) 03:16 由 imported>Wikiuser 所做的修訂
- 宣告懸浮廣告(FloatAd)廣告版位
FloatAd將以懸浮方式顯示在您的頁面之上,您不需要在您的layout XML預先設定或是在程式內動態addView。
請求廣告方法跟TWMAdView相同,透過loadAd方法產生廣告請求,請求成功後會自動將廣告呈現在畫面上,並依據您的版位呈現動畫效果。
懸浮廣告的動畫效果有自動呈現和手動點擊後呈現兩種,請洽服務窗口了解更多詳情。
// 依序傳入Activity, Ad Unit Id, 第三個參數為boolean值, 若您希望您的廣告呈現在畫面的左邊, 請傳入true, 右邊請傳入false TWMFloatAdView twmFloatAdView = new TWMFloatAdView(this, AD_UNIT_ID, isLeftSide); floatAdView.loadAd(new TWMAdRequest());
重要, 請在Activity的生命週期中加入下述的呼叫, 以正確release FloatAd
@Override protected void onDestroy() { if(twmFloatAdView!= null) { // 呼叫TWMFloatAdView.destroy() twmFloatAdView.destroy(); } super.onDestroy(); } @Override protected void onResume() { if(twmFloatAdView!= null) { // 呼叫TWMFloatAdView.resume() twmFloatAdView.resume(); } super.onResume(); } @Override protected void onPause() { if(twmFloatAdView!= null) { // 呼叫TWMFloatAdView.pause() twmFloatAdView.pause(); } super.onPause(); }
- 加入TWMAdViewListener監聽廣告投放情況
twmFloatAdView.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){ // 用戶點擊廣告後,將要啟動新的應用程式時通知 } });
- 若需要進行廣告投放的測試,可以測試模式來請求廣告, ※測試模式將不會紀錄任何的曝光以及點擊數據
// 請在將要載入廣告所使用的TWMAdView / TWMInterstitialAd / TWMVideoAd / TWMFloatAdView以下列的方式進行廣告請求, 下面以TWMAdView (Banner Ad)來進行示範 TWMAdView adView = new TWMAdView(this, {YOUR_ADUNIT_ID_BANNER}); TWMAdRequest request = new TWMAdRequest(); deviceId = getDeviceId(getBaseContext()); request.addTestDevice(deviceId); // 加入測試的手機Id adView.loadAd(request); 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畫面展示
未展開 | 展開 |