翻译:随梦、
 
   在本贴里,我们将看看Unity新的广告服务以及如何将它继承到您当前的项目中,我们的目标是当你放入游戏使用它赚钱并且减少开销很和维护,我没让你将要看到如何正确的将你所需要的整合到你的项目中,以及一些陷阱可能会让你慢下来。
 
创建您的账户
 
   在项目里设置广告真的只需要几个步骤,你需要的做的第一个事情就是去Unity Ads网站创建一个账户(它是免费的,并且只需要几分钟),你登陆进去后就会看到广告仪表板,开始货币化你的项目,点击“Start Monetizing”(你也可以点击左边的“Game”菜单项,然后“Add New Game”)。
 

 
   你会看到有一些基本信息需要你输入,然后指定目标平台和项目名称,如果你的项目已经上线,你可以去查一下,如果你的项目还在开发,别担心,底部有一个链接,你可以点击开发版本添加到你的账户。

 

 

 
   一个有趣的是,如果你的游戏是IOS和Android两个版本,在你的账户中你将为同一个游戏创建两个不同的游戏配置文件,这意味着,你将有两个版本不同的广告id,因此,因此能够跟踪和管理你的广告或平台不在一起。
  现在你的游戏添加到您的Unity Ads账户,您将看到您的游戏仪表板,有很多控件,设置和信息面板,但是我们只会关注自己的“Game ID”,这个ID是我们可以控制广告展示和点击后让用户提供意见的。
 

 

 
 
   (这个图片是来自一个示例游戏创建的文本,我强烈建议你创建自己的账户和游戏,而不是用我的示例游戏ID,否则你的钱都会来我这里,也就是说,如果你想使用我的游戏ID,我不会阻止你的,谁不喜欢免费的钱呢?)
广告整合到项目
   现在你设置了Unity Ads,你就可以开始在您的项目中放置广告了,在Unity,导航到AssetStore(Window->AssetStore)并下载和导入Unity Ads的压缩包,注:如果你在Unity5中使用,目前会出现一个警告信息,这个警告信息是由Unity4压缩包导致的,没有问题,只是目前存在向后兼容性的优化。

 

 

 
   一旦资源导入到你的项目中,初始化和展示广告将会非常简单。
   注意:因为广告目前只支持IOS和Android,编辑器会针对其中一个平台测试,你可能要转换平台到其中一个(File->Build Settings)。
   在一个项目中,广告通过脚本控制,有三行代码是必须的(应考虑需要第一行),第一行是我们广告脚本的命名空间。
 
[C#] 纯文本查看 复制代码
using UnityEngine.Advertisements;
 
   接下来我们必须初始化我们的广告,这个可以在任何你喜欢的地方,但它必须在你想要出现任何广告之前,初始化函数(Initialize())的第一个参数是我们从Unity Ads网站上的ID(请记住,使用自己的而不是我的),第二个参数是你的游戏是否在“测试模式”,如果你的游戏正在开发,你应该将它设置为True,稍后我们再讨论这个。
 
[C#] 纯文本查看 复制代码
Advertisement.Initialize ("29239", true);
 
   最后,我们展示广告,如果我们的项目在编辑器中运行,我们会看到一个通用的广告,如果我们在设备上运行为测试模式设置为True(见上图),那么我们将会看到一个占位符,最后,如果我们的在设备上运行并且测试模式为False,我们将看到一个活生生的广告。
 
[C#] 纯文本查看 复制代码
Advertisement.Show ();
   
   现在,初始化广告系统不是即时的,所以你要确保准备好之后再展现广告,这样可以防止报错,否则过程中会很困扰你,你可以使用isReady()函数来检查一个广告是否可以显示。
 
[C#] 纯文本查看 复制代码
Advertisement.isReady ();
 
   所以,把所有的放在一起,一个在游戏启动时显示广告的脚本就看起来像这样:
 
[C#] 纯文本查看 复制代码
using UnityEngine;
using UnityEngine.Advertisements;
using System.Collections;
 
public class SimpleAdScript : MonoBehaviour
{
    void Start ()
    {
        Advertisement.Initialize ("29239", true);
 
        StartCoroutine (ShowAdWhenReady ());
    }
 
    IEnumerator ShowAdWhenReady()
    {
        while (!Advertisement.isReady ())
            yield return null;
 
        Advertisement.Show ();
    }
}
 
   在下一篇文章我们将讨论使用更高级的广告,以及演示如何构建一个广告概念结构。