2013-04-16 69 views
1

我們無法使用ActionScript3將LeadBolt中的廣告放置在Adobe Air內置的應用程序的屏幕中央。使用LeadBolt廣告的AIR中的廣告和Stagewebview展示位置

我們使用帶有簡單HTML代碼的StageWebView環繞與LeadBolt一起使用的腳本。廣告加載時應該沒有問題。

我們的設置是將SWF設置爲width = 800和height = 480,我們使用StageScaleMode.EXACT_FIT和StageAlign.TOP_LEFT。 我們試圖將viewPort設置爲的矩形設置爲幾個不同的值。例如,我們嘗試過(0,0,800,480)以及0,0和Capabilities.screenResolutionX/Y。

_adWindow.viewPort = new Rectangle(startX,startY,bannerWidth,bannerHeight); 

然後我們試圖調整廣告本身,在()發送到使用loadString的HTML CSS利潤率的位置。我們試圖用_marginLeft靜態和動態地設置邊距(只是在我們走高度之前只用邊距左邊的距離)。

_marginLeft = (Main.screenResX * 0.5) - (1.875 * Main.screensDPI * 0.5); 

這是我們試圖獲得_marginLeft值的設置。 1.875是英寸寬度的值,因爲廣告似乎在所有設備上始終具有此靜態寬度。它應該是w:300px,但這不會發生?

這是我們用我們的字符串使用loadString調用代碼())

_htmlString = "<!DOCTYPE HTML>"; 
_htmlString += "<html><body style='margin:0 0 0 " + _marginLeft + "px;padding:0;'>"; 
_htmlString += "<script type='text/javascript' src='http://ad.leadboltads.net/show_app_ad.js?section_id=xxxxxxx'></script>"; 
_htmlString += "</body></html>"; 

它只是沒有正常工作。我們可以在10.1「選項卡上將廣告動態地放置在中間位置,但之後廣告被錯誤地放置在4英寸手機上。該選項卡的DPI爲160(或真的是來自制造商的149,但功能顯示不正確),手機的DPI爲320(這是正確的值)。

看來stagewebview中的像素和我們發送到viewPort的值之間可能會有某種失真? 可能與w:800和Capabilties.screenResolutionX比率有關?

任何幫助表示讚賞:-)

回答

0

由於懷疑這似乎已經是搞砸事情的StageScaleMode.EXACT_FIT。

StageScaleMode.NO_SCALE修復了問題。在此之後,

adWindow.viewPort = new Rectangle(stage.fullScreenWidth * 0.5 - adWidth * 0.5, 
stage.fullScreenHeight * 0.5 - adHeight * 0.5, 
bannerWidth,bannerHeight); 

的作品就像一個魅力:-)