Unity Ads

发表于2015-09-11
评论1 2.9k浏览
   在本贴里,我们将看看Unity新的广告服务以及如何将它继承到您当前的项目中,我们的目标是当你放入游戏使用它赚钱并且减少开销很和维护,我没让你将要看到如何正确的将你所需要的整合到你的项目中,以及一些陷阱可能会让你慢下来。
创建您的账户
        在项目里设置广告真的只需要几个步骤,你需要的做的第一个事情就是去Unity Ads网站创建一个账户(它是免费的,并且只需要几分钟),你登陆进去后就会看到广告仪表板,开始货币化你的项目,点击“Start Monetizing”(你也可以点击左边的“Game”菜单项,然后“Add New Game”)。
        你会看到有一些基本信息需要你输入,然后指定目标平台和项目名称,如果你的项目已经上线,你可以去查一下,如果你的项目还在开发,别担心,底部有一个链接,你可以点击开发版本添加到你的账户。
        一个有趣的是,如果你的游戏是IOSAndroid两个版本,在你的账户中你将为同一个游戏创建两个不同的游戏配置文件,这意味着,你将有两个版本不同的广告id,因此,因此能够跟踪和管理你的广告或平台不在一起。
        现在你的游戏添加到您的Unity Ads账户,您将看到您的游戏仪表板,有很多控件,设置和信息面板,但是我们只会关注自己的“Game ID”,这个ID是我们可以控制广告展示和点击后让用户提供意见的。
        (这个图片是来自一个示例游戏创建的文本,我强烈建议你创建自己的账户和游戏,而不是用我的示例游戏ID,否则你的钱都会来我这里,也就是说,如果你想使用我的游戏ID,我不会阻止你的,谁不喜欢免费的钱呢?)
广告整合到项目
        现在你设置了Unity Ads,你就可以开始在您的项目中放置广告了,在Unity,导航到AssetStoreWindow->AssetStore)并下载和导入Unity Ads的压缩包,注:如果你在Unity5中使用,目前会出现一个警告信息,这个警告信息是由Unity4压缩包导致的,没有问题,只是目前存在向后兼容性的优化。
        一旦资源导入到你的项目中,初始化和展示广告将会非常简单。
                注意:因为广告目前只支持IOSAndroid,编辑器会针对其中一个平台测试,你可能要转换平台到其中一个(File->Build Settings)。
        在一个项目中,广告通过脚本控制,有三行代码是必须的(应考虑需要第一行),第一行是我们广告脚本的命名空间。
[C#] 纯文本查看 复制代码
1
using UnityEngine.Advertisements;
        接下来我们必须初始化我们的广告,这个可以在任何你喜欢的地方,但它必须在你想要出现任何广告之前,初始化函数(Initialize())的第一个参数是我们从Unity Ads网站上的ID(请记住,使用自己的而不是我的),第二个参数是你的游戏是否在“测试模式”,如果你的游戏正在开发,你应该将它设置为True,稍后我们再讨论这个。
[C#] 纯文本查看 复制代码
1
Advertisement.Initialize ("29239", true);
        最后,我们展示广告,如果我们的项目在编辑器中运行,我们会看到一个通用的广告,如果我们在设备上运行为测试模式设置为True(见上图),那么我们将会看到一个占位符,最后,如果我们的在设备上运行并且测试模式为False,我们将看到一个活生生的广告。
[C#] 纯文本查看 复制代码
1
Advertisement.Show ();
        现在,初始化广告系统不是即时的,所以你要确保准备好之后再展现广告,这样可以防止报错,否则过程中会很困扰你,你可以使用isReady()函数来检查一个广告是否可以显示。
[C#] 纯文本查看 复制代码
1
Advertisement.isReady ();
        所以,把所有的放在一起,一个在游戏启动时显示广告的脚本就看起来像这样:
[C#] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
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 ();
    }
}
        在下一篇文章我们将讨论使用更高级的广告,以及演示如何构建一个广告概念结构。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引