通过 Microsoft 广告控件赚钱
阿瑟 · 比雷尔 和 鲍里斯 · 费尔德曼
虽然一些开发人员创建移动应用程序作为一种业余爱好或如何看待他们的名字在灯,别人是为了钱。您可能已经知道,Windows 手机市场提供了一种由卖给用户的应用程序获取赔偿你的辛苦工作的简单方法。然而,还有另一个、 互补的方式,为你赚到钱的应用程序的 Windows Phone 7: 广告。微软广告 SDK 使得广告纳入您的应用程序容易的过程 — — 和你会支付时消费者使用您的应用程序,即使是免费下载的。
这篇文章将:
- 向您展示如何在您的应用程序中开始使用微软广告。
- 引导您通过创建广告支持应用程序使用 XAML 或代码中 — — 从文件 |新到生成并运行。
- 超出基本知识,帮助您改善您的最终用户的广告体验,使更多的钱。
关于广告
现实是词的移动用户,没有更好,"节俭"。很多人都不会迟疑的第二次上双的拿铁咖啡花 4 元将苦于超过 99%的应用程序购买。广告,可以从那些不准备或不愿意花费他们辛苦赚来的硬币购买您的应用程序的用户仍赚的钱。免费应用程序,"简装"版本的付费软件和所有的付费软件试验目前广告盈利的机会。鉴于自由和审判程序的下载,大大超过那些在 Windows 手机市场上的付费软件,您的应用程序中显示广告是只是良好的数学。
微软广告 SDK 是免费下载和服务是免费的。此外,当您使用 Microsoft 广告控件时显示的广告不只是从 Microsoft adCenter。相反,微软已创建顶级手机广告网络在申办权在您的应用程序中显示他们的广告实时广告交换。这可提高整体广告率,并确保广告广告中移动应用程序对 Windows Phone 7 支付最高的价钱。你支付广告的印象,在您的应用程序中生成每月的收入的 70%。
正如本文中稍后介绍所看到的使用 Microsoft 广告控制是容易甚至兼职开发人员和学生进入建设广告支持 Windows Phone 7 应用程序的行为。您的里程可能有所不同,当然 ; 如果您的应用程序进行最终用户和他们经常使用它,赚钱潜力远远超过零花钱。许多开发人员有更多的广告比他们有销售应用程序,通过与微软发表了一些突出显示的这些经历几个的成功故事 (bit.ly/9RlMFW)。
开始
入门微软广告控制很容易,即使你还是新手 Windows Phone 7 开发人员,您可以启动并运行在没有时间。下面是在您的应用程序中包括微软广告的步骤:
- 登录微软 pubCenter 门户网站,与您的 Windows Live id。 在这里,您将能够注册您的广告支持的应用程序,这些应用程序中的位置的广告将出现的位置。
- 获取免费微软广告 SDK 的 Windows Phone 7。 今天,您可以从 pubCenter 门户网站,下载此 SDK,但今年晚些时候你就会自动安装的 Windows 手机开发人员工具即将发布的版本时。
- 微软广告控件添加到您的应用程序。 在确定您的应用程序和广告位置的广告控件中设置几个属性和您准备提交广告启用应用程序的 Windows 手机市场。
一旦您的应用程序是活在 Windows 手机市场上开始习惯的最终用户,它将自动启动生成广告的印象。你会得到报酬在 CPM 基础 (每千意见 ; 成本上显示这些广告 "广告 101"的成本故障的详细信息请参阅) 和已经达到 50 元的最小阈值后,您将自动获得发出支票或直接存款 — — 您的选择 — — 从微软。
pubCenter 安装程序
您在使用 microsoft 广告的第一步是在微软广告 pubCenter 门户在签约pubcenter.microsoft.com 使用您的 Windows Live ID (请参见 图 1)。
图 1微软广告 pubCenter 门户
将要求您输入有关您或您的公司的一些信息,那么您可以跳转的权利并注册您的第一个应用程序和"广告单位"。
要在 pubCenter 中定义新的应用程序,您要做是给它一个友好名称。后来如果您有多个广告支持的应用程序,您将能够爆发的统计数字,请参阅如何在您的应用程序的每个广告正在执行。
在同一个屏幕上,您还可以定义您的第一个广告单元。每个广告单元都有一个名称,并表示您的应用程序中的位置,其中会显示广告。广告单位可与最佳描述它们周围的内容的最多三个类别相关联 (请参见图 2)。
图 2注册您的应用程序和创建广告单元
您选择的类别将确定什么样的广告将显示在您的应用程序中的许多因素之一。
一旦您单击保存,您将看到新的 pubCenter 帐户的信息的摘要和还应用和广告单元的 Id 您刚创建。当你准备去活时,就会以确定您的应用程序到微软广告服务器与广告控制使用这些值。
说到这里,你完了暂时的 pubCenter,并准备好潜入 Visual Studio。您可以定义多个应用程序或广告单位、 看到深入广告报告和配置高级的设置,例如,竞争排除任何时候返回到 pubCenter。
添加使用 Visual Studio 的广告
如果您没有使用最新的 Windows 手机开发人员工具,不过,您可以从 pubCenter 下载最新版本的微软广告 SDK。此 SDK 包括微软广告控制,以及文档和代码示例,来帮助您入门。2011 年 6 月版的广告控制提供的富媒体支持和改进的 API 集。请确保您已安装,使您可以遵循下面的步骤。让我们看看如何使用 Visual Studio 设计器中。
通过使用文件创建一个新的 Windows 电话 7 Silverlight 项目启动 |新的和开放要显示广告的 XAML 表面。选择合适的现场广告可以经常显示,而不会烦扰用户 ; 通常,底部或顶部是屏幕的最好的。拖动 AdControl (注:"广告控制"指的是 Microsoft 产品,而"AdControl"指的是类或对象) 直接从工具箱窗格中将其添加到网格控件直接 (请参阅图 3)。
图 3放置 AdControl
AdControl 后在页面上,您需要设置一些属性,以在您的应用程序中正常工作。首先,你要仔细检查的宽度和高度的 AdControl。它建议保持 480 x 80 像素的手机广告的标准尺寸的控制。设置较小的尺寸将会阻止标准尺寸的广告能显示在您的页面上。设置一个较大的大小将意味着一些之间的空白区域,广告呈现有意愿和 AdControl 的边框。
接下来,您需要联系 pubCenter 门户网站中创建的应用程序 ID 和广告单元 id AdControl。它可以帮助有门户 Web 页面打开,这样您可以复制并粘贴到 Visual Studio 窗口的这些值。
最后,还有你要以满足您的应用程序需要设置两个属性。如果设置为 true,IsAutoRefreshEnabled 属性将自动显示一个新的广告每 60 秒。这使您可以增加广告用户看到,这应有助于更好地为您的应用程序 (请参见"广告 101"更多的广告收入) 的收入。设置为 true,如果您希望自动隐藏自身从视图之前下载广告 AdControl 的 IsAutoCollapseEnabled 属性。
由 Visual Studio 设计器生成的 XAML 应类似于:
<Grid x:Name="ContentPanel" Grid.Row="1">
<my:AdControl
Height="80"
Name="adControl1"
Width="480"
IsAutoCollapseEnabled="True"
IsAutoRefreshEnabled="True"
AdUnitId="test_client"
ApplicationId="Image480_80"
/>
</Grid>
现在打运行以查看您的第一个广告。
API AdControl
如果您找到您想做一些更复杂的事情,如控制隐藏或显示的广告,或要有更多的控制广告显示在您的应用程序时,您可以选择直接在您的代码中 AdControl 实例化。
但我们到那里之前,让我们开始的夹层 AdControl 的工作原理 (请参阅图 4)。 在幕后,当您的应用程序启动时,AdControl 获取初始化,它从微软广告服务器请求的广告。 请求被形成与您在您的代码中指定的应用程序 ID 和广告单元 ID。
图 4AdControl 的工作原理
至关重要的是此信息匹配您从 pubCenter 门户的复制或测试文档中提供的 Id。 请求还包含有关您的应用程序,如广告将匹配该地区一些其他有用的信息。
如果它接收回的广告使用图像或基于 HTML 的富媒体,AdControl 将与下载广告内容 (如 JPEG、 GIF、 HTML 或 PNG 文件) 的 Web 服务器重新连接。 一旦用户已看到广告,AdControl 可能会再次连接的服务器,以记录广告印象。 这整个周期重复广告获取刷新和一个新的广告获取下载时。
大部分火箭科学没有使用 AdControl 所需的代码的时候。 您需要为您的项目中的引用添加 Microsoft.Advertising.Mobile.UI 大会开始。 你也要添加使用Microsoft.Advertising.Mobile.UI 命名空间声明。 并在您的页面的构造函数中,会将代码来创建 AdControl。 然后,你要添加到页的可视化树 AdControl 实例。 在这种情况下,我们将其添加到网格中,我们在我们的布局 (请参见图 5)。 中的代码与图 5到位情况下,您的应用程序应该准备好生成和显示广告使用您已经编写的代码。
图 5添加到可视化树 AdControl
using Microsoft.Advertising.Mobile.UI;
// Constructor
public MainPage()
{
InitializeComponent();
AdControl adControl = new AdControl();
// Add the control to a grid control
Grid grid = (Grid)this.LayoutRoot.Children[1];
grid.Children.Add(adControl);
// Insert real values from pubCenter before
// submitting your app to Windows Phone Marketplace!
#ifdef SHOW_TEST_ADS
adControl.ApplicationId = "test_client";
adControl.AdUnitId = "Image480_80";
#else
// Use your real Application ID and Ad Unit ID here
adControl.ApplicationId = "12ab456c-de7f-89ab-0123-4567890c1d23";
adControl.AdUnitId = "12345";
#endif
// Make the AdControl fit the standard 480 x 80 dimension
adControl.Width = 480;
adControl.Height = 80;
// Let the AdControl collapse and refresh automatically
adControl.IsAutoRefreshEnabled = true;
adControl.IsAutoCollapseEnabled = true;
}
提示和技巧
这里有一些重要的事情,要在您的应用程序,并有几种方法 AdControl 使用时,请牢记 — — 例如,针对 — — 这将帮助您在您的应用程序中的广告价值最大化。
第一,始终确保您可以看到"测试"和"真实"的广告在您的应用程序中运行。 要查看测试广告,请将 ApplicationID 设置为标准测试值,如"Image480_80""test_client"和广告单元 ID精心布置的 # ifdef 可以来方便。 您应使用测试广告同时开发和测试您的应用程序,但一旦你准备释放,这是关键您设置这回你 pubCenter 发出应用程序 ID 和广告单元 id。 但是,测试您自己的应用程序 Id 是重要因为它可以确保您的应用程序使用"真正的"活广告。
下一步,要获得最好的广告,是重要的是提供尽可能多的信息,广告系统。 AdControl 经常获取此信息自动,所以您的应用程序清单必须具有以下功能:
- ID_CAP_PHONEDIALER
- ID_CAP_NETWORKING
- ID_CAP_WEBBROWSERCOMPONENT
- ID_CAP_IDENTITY_USER
- ID_CAP_MEDIALIB
如果您的应用程序的意义,它还建议使用 ID_CAP_LOCATION 功能。 启用基于位置的广告提高的质量和相关性的您的用户将看到的广告。
AdControl.PostalCode 和 AdControl.Country 属性允许应用程序来更新用户的位置。在下面的示例中,贝弗利山庄电影明星 app 将一般都知道它的用户在该位置:
using Microsoft.Advertising;
// Make sure the AdControl is created
adControl.Country = "US";
adControl.PostalCode = "90210";
同样,它也可能有助于处理有关广告经验在您的代码的几件事。 如果已将 IsAutoRefreshEnabled 属性设置为 false,然后您将能够手动刷新广告。 调用 adControl.Refresh 方法来进行查看,带来一个新的广告,但确保不叫它超过每 30 秒,为用户提供足够的时间去点击他们可能感兴趣的广告。
如果已将 IsAutoCollapseEnabled 属性设置为 false,你可以侦听 ErrorOccurred 事件。 未能下载或显示的广告时,将触发此事件。 折叠 AdControl 和回收空间以供使用的应用程序中的其他用户界面元素,您可以使用此事件。 当 AdRefreshed 事件触发时,你会知道一个新的广告是愿意看到与您可以还原其可见性 (请参见图 6)。
图 6AdRefreshed 事件
public void AdControl_AdRefreshed(object sender, EventArgs args)
{
AdControl ad = (AdControl)sender;
Dispatcher.BeginInvoke(() =>
{
ad.Visibility = System.Windows.Visibility.Visible;
Debug.WriteLine(
"ad control '" + ad.Name + "' got ad, visibility = " + ad.Visibility);
});
}
public void AdControl_ErrorOccurred(object sender, AdErrorEventArgs args)
{
try
{
AdControl ad = (AdControl)sender;
Dispatcher.BeginInvoke(() =>
{
ad.Visibility = System.Windows.Visibility.Collapsed;
Debug.WriteLine(
"error in ad control '" + ad.Name + "': " + args.Error.Message);
Debug.WriteLine("ad control '" + ad.Name + "' visibility = " + ad.Visibility);
});
}
catch (Exception e)
{
Debug.WriteLine("oh no! "
+ e.Message);
}
}
如您所见,在您的应用程序中使用的 AdControl 是容易的。 如果您遇到了麻烦,一般都只有几件事可以走错了,导致不能显示的广告:
- 没有网络连接
- 在应用程序 ID 或广告单元 ID 错字
- 用户是从微软广告广告不可的位置
- AdControl 设置为太小的维度
- 缺失的功能
最后,如果正在编写游戏,想要使用 XNA 看微软广告新华社广告游戏组件,也是微软广告 SDK 的一部分。 不幸的是,没有足够的空间来做更深入的新华社在这篇文章,但有可用的文档在线在bit.ly/jhGOVV。
现在去添加一些广告,开始拿钱放入您的应用程序,那么辛苦的工作 !
阿瑟 · 比雷尔 是微软在纽约的通用广告客户端小组的高级项目经理。微软广告 SDK 的 Windows Phone 7 上工作之前, 他 17 年的动态导航,经验。NET 框架、 互联网资源管理器和 Windows 产品。你可以跟随他在 Twitter 上twitter.com/ArthurBiererDev 或电子邮件与他在 arthurbi@microsoft.com。
鲍里斯 · 费尔德曼 是一组产品规划在移动显示广告业务经理。 微软在他八年来,他也曾对开发商的产品,包括一些。NET 框架和表达 Web。你可以通过电子邮件在到达他borisf@microsoft.com。
多亏了以下技术专家审查这篇文章: 安佐尔巴尔卡尔、 理查德 · 卡尔、 斯隆甄、 阿里鹭、 达洛 Hudgin、 马蒂考哈宁、 标记马斯特森、 蒂姆 · 麦克莱兰、 克里斯关瓦列里 · 奥韦奇金马特 · 沙利文 和杰森白