[英]Using AdDuplex in a XNA - Silverlight WP7 hybrid application
可以證明,你們中的大多數人都知道 AdDuplex 可以交叉推廣 WP7 應用程序和游戲。 該廣告引擎提供兩個 SDK,一個用於 XNA 游戲,另一個用於 Silverlight 應用程序。
我有一個 SL-XNA 混合游戲,我找不到讓廣告在這樣的環境中工作的方法。 我已經能夠在 XNA 圖形環境中使用 Silverlight UIElementRenderer 呈現廣告,但我找不到處理點擊它的方法。
這是 XAML 的樣子:
<Grid Name="root" Margin="0,0,0,7000" Width="480" Height="90" Background="Black" >
<adduplex:AdControl x:Name="adDuplex" xmlns:adduplex="clr-namespace:AdDuplex;assembly=AdDuplex.AdControl.Silverlight"
AppId="10675"
/>
</Grid>
我聽說有人在這樣的環境中使用過 adDuplex。 關於如何做的任何想法? 謝謝。
沒有看到后面的代碼和完整的 XAML 我不能肯定地說,但線索在 Margin="0,0,0,7000" 中。 我的猜測是您將 AdDuplex 控件繪制在與其實際位置不同的位置。
如果你正在初始化 UIElementRender 是這樣的
renderer = new UIElementRenderer(adDuplex, 480, 90);
像這樣畫
renderer.Render();
spriteBatch.Begin();
spriteBatch.Draw(renderer.Texture, Vector2.Zero, Color.White);
spriteBatch.End();
這樣就可以解釋問題了。 相反,在 AdDuplex 控件上設置 Margin="0"(確保它在頁面上可見)並使用頁面上的根元素初始化 UIElementRenderer。 默認情況下,這是一個名為“root”的網格,但您可能已將其更改為其他名稱。
renderer = new UIElementRenderer(root, 480, 800);
繪制代碼應該與上面相同。 AdDuplex 控件現在應該繪制在與實際控件相同的位置,點擊它應該會啟動 web 瀏覽器。
如果您不想每幀都繪制 480,800 bitmap,您可能需要修改此解決方案,但至少它會測試是否可以解決問題。
我在我的 SL-XNA 混合應用程序“Yaht 3D”中使用 AdDuplex 沒有任何問題。 聽起來你做的一切都是對的。 只需將 Silverlight 控件放入您的 XAML(使用您自己的應用程序 ID)。
<adduplex:AdControl xmlns:adduplex="clr-namespace:AdDuplex;assembly=AdDuplex.AdControl.Silverlight"
AppId="1234"/>
並在 OnDraw 方法后面的代碼中使用 UIElementRenderer
elementRenderer.Render();
spriteBatch.Begin();
spriteBatch.Draw(elementRenderer.Texture, Vector2.Zero, Color.White);
spriteBatch.End();
AdDuplex 控件應為您處理點擊。
我使用了 Nick Gravelin 的這個助手 class,現在它就像一個魅力:
謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.