安卓游戏入门指南(八)
十四、营销和货币化
因此,读完前面的 13 章,你现在已经掌握了构建一个优秀的 Android 游戏所需的技能和知识。是不是像“建了就发财了”这么简单?肯定不是!通过营销和货币化你的游戏来赚钱本身就是一项技能,你需要学习很多东西才能在这方面取得成功——不仅仅是在你的游戏完成之后,甚至是在你开始开发它之前。真正的赚钱机器往往从计划阶段就被设计成受欢迎和赚钱,除此之外还要做得好。
赚钱你的游戏
货币化是一个常用术语,大致意思是从产品或服务中赚钱的过程。当有人说,“我需要用我的游戏赚钱”时,他们所说的是,他们需要利用游戏当前的用户群,并找到一种方式开始从中赚取真金白银。
有很多方法可以让你的游戏赚钱:
- 横幅广告 : 通常基于点击付费的图形或文字广告。我们都在网络、应用和游戏中看到过横幅广告。它们在网站上无处不在。
- 全屏广告 : 很像横幅广告,除了它们需要用户更多的注意力,通常需要用户点击一个按钮或者等待一段时间来消除它们。这种格式的视频和注册表单很常见。
- 应用内购买 : 供用户用真钱购买内容、物品、升级或虚拟货币的选项。一个例子是花 99 美分买一个关卡包,或者花 1.99 美元买一个“低重力”的作弊软件。
- 虚拟货币奖励 : 为玩家提供游戏内虚拟货币以换取完成任务的选项。例如,可以向用户提供安装第三方应用的选项,以换取 50 个游戏内硬币,这些硬币可用于购买角色的升级。在这种情况下,第三方应用发行商为该安装向服务支付费用,服务反过来向游戏开发者支付该费用的一部分。这些通常被称为“发现”服务,因为出版商付费让新用户发现他们的应用。
- 直销 : 用户直接为游戏付费并安装。这是在广告和虚拟货币出现之前的第一种货币化方式。
- 许可 : 游戏开发商将游戏许可给其他公司进行捆绑、预装或其他大规模部署的广泛选择。
当然,通过你的游戏赚钱的方法还有很多,但这些绝对是最常见的方法。接下来将对它们进行更深入的讨论。
广告
广告是安卓游戏货币化的第一个“大”方式之一。有趣的是,我们可以告诉你,广告最好被视为一种补充,而不是主要的货币化方法,因为它的波动性。移动广告空间在创收方面非常不可靠,而且竞争非常激烈。基本上,有很多移动应用广告,但这些广告背后的钱并不多,所以自然地,钱在整个生态系统中分散开来。这是否意味着在你的免费安卓游戏中放一些广告不是一个好主意?肯定不会。仅仅通过广告收入仍然有可能赚很多钱,但是要准备好测试许多不同的广告解决方案,找到最适合你的市场定位的一个。
广告提供商
广告提供商直接从广告商那里投放广告,并为你的点击付费。你只得到广告商为点击付费的一部分,其余的归广告提供商,这就是广告提供商赚钱的方式。广告内容的范围可以从汽车零件到膳食补充剂。通常情况下,你需要为你的应用配置关键词,这样内容才能更贴近你的用户。广告提供商使用各种格式,但最常见的是横幅广告和全屏广告。目标正在快速移动,但这里有几个主要广告提供商的例子:
- 谷歌(www.admob.com)旗下的 AdMob
- 千禧传媒(www.millenialmedia.com)
- 灰色条纹(www.greystripe.com)
广告聚合服务
对于移动广告,不仅仅是实现横幅或全屏广告的问题。你也可以考虑广告聚合服务。聚合服务为你的游戏提供来自许多提供商的广告。通过这种方式,您可以建立一个单一的广告位置(如“横幅广告”),并依靠一个聚合器来搜索不同的广告提供商,为您的广告空间寻找最有价值的广告,从而让您在该位置获得最高报酬的广告。在过去的几年中,许多这样的服务已经出现,但是这里有一个当前主要参与者的快速列表:
- mop ub(www . mop ub . com
- 阿德维尔(www.adwhirl.com)
- inner active(
inner-active.com) - Mobclix ( www.mobclix.com
这些服务中的每一个都有自己的 API,其中大多数通常都很容易使用。对于任何特定的服务,请访问他们的网站并查看他们的文档,以获得有关实现的更多技术信息。
游戏广告技巧
所以,如果你已经决定在你的游戏中做广告,最好的方法是什么?有时候越少越好,所以让我们来浏览一下与你的广告相关的和清单:
- 打断你的玩家,因为他们正在进行
- 挫败你的玩家
- 一个广告总是出现,破坏了原本美好的体验
- 欺骗用户点击
广告很容易做过头。广告的目的是从你的游戏中赚钱,对吗?广告多不代表钱多;相反,更多的广告通常会导致你的游戏收视率降低,而收视率降低会导致用户减少,这无论如何都不是好事。保持广告曝光有品味。用户希望用一些广告来换取免费游戏。在空闲时间将广告放在菜单的顶部或底部是很好的做法。
全屏广告,等等!当用户开始你的游戏时,你可能想立刻显示广告,但是你会失去可信度。等到玩家第三次、第四次、甚至第五次启动游戏时,才显示全屏广告。
专注于建立良好的游戏体验,你的玩家会更信任你的广告。如果你太关注如何最大化你的支出,你的用户会感觉到,你的游戏会受到影响。
应用内产品
应用内产品(IAP)可以成为巨大的赚钱机器。总的想法是,玩家想要你游戏中提供的东西,并愿意支付少量的钱来得到它。Google Play 商店有两种应用内产品选项:
- 管理物品:人物、等级、能力等物品。被管理的项目只能购买一次,并且它们附属于购买者,而不是附属于设备;也就是说,如果买家在一个设备上购买了该物品,只要买家在所有设备上使用相同的谷歌账户,该物品就可以在买家的其他设备上使用。
- 未被管理的物品 : 虚拟货币、硬币、消耗性升级、入场券以及其他任何被玩家“用完”并需要“补充”的物品不受管理的物品可以反复购买,增加现有的数量或金额。未被管理的项目也会附加到 Google 帐户,而不是购买它们的设备。
除此之外,您还可以设置定期计费的订阅。你的游戏在任何时间点都将订阅视为“开”或“关”,因此你可以在玩家订阅时提供任何内容、服务、升级或其他功能。
用于处理 IAP 的 Google Play 服务称为*应用内计费。*Google Play 开发者控制台为你的游戏提供了一个设置可购买物品的界面。命名您的可购买产品的最兼容方式是使用您的应用包名称作为前缀;例如,com . badlogicgames . awesome game . 300 积分可用于 300 积分的购买。
那么,设置可购买产品的好策略是什么呢?没有明确的答案,因为这完全取决于你的游戏。一个非常有效的策略是使用虚拟货币做任何事情。
虚拟货币
虚拟货币(VC) 是游戏中的货币。无论你称它为黄金、宝石、红宝石、硬币、信用或你发明的名字,VC 是你的游戏为玩家存储的一个数字,允许玩家购买东西。你的 VC 不需要和真金白银有一对一的关系,和游戏有明确的关系就可以了。风险投资很好,因为获得它成为游戏的主要或次要目标,你可以利用这个目标来赚钱。在不深入了解 it 心理学的情况下,人们似乎有购买 VC 的动机,因为他们要么希望在游戏中找到捷径,享受个性化的游戏体验,要么就是喜欢买东西。
VC 是目前游戏提供的最受欢迎的可购买物品类型之一,通常按等级出售,大额购买有折扣;例如,0.99 美分的 100 点,3.99 美元的 500 点,29.99 美元的 5000 点,等等。
许多游戏程序员使用的一个好策略是奖励游戏中的 VC 行为,比如打碎金砖或赢得关卡。一些游戏有计时关卡,在更短的时间内击败关卡会奖励更多的 VC。其他游戏有多种类型的 VC,以便程序员可以控制一种类型的 VC 或另一种类型的 VC 的稀缺程度,迫使玩家在购买物品和升级之间更仔细地选择,或者玩得更多以获得足够的一种类型的 VC,以便他们可以购买特定的升级或物品。一个常见的策略是让游戏免费,允许用户收集 VC 和有机购买东西,但也提供快捷方式和作弊作为 IAP,例如让玩家选择更快地前进——基本上,付给你真钱,以换取能够更快地玩游戏或得分更高。这种策略及其变体确实是非常有效的货币化工具。
有一些与风险投资相关的服务,比如 tap joy(www.tapjoy.com),让你不仅可以通过风险投资来赚钱,还可以通过向用户提供更多风险投资来赚钱。这些服务提供类似“安装另一个游戏,获得 50 个硬币”或“点击这个广告,获得 25 个硬币”的激励到目前为止,这种类型的服务似乎是有效的。这项服务向你——发行商——支付这些行为的实际金额,你的玩家喜欢它,因为他们不必花任何实际的钱来获得他们如此渴望的风险投资。
卖还是不卖
在早期的移动游戏市场,主要的收入模式是提供免费的、功能有限的游戏版本和付费的、功能齐全的版本,目标是让玩家迷上试用版并想要更多,从而导致他们购买付费版本。从那时起,游戏开发人员向用户“免费”提供了越来越多的功能,并且更加依赖于他们的游戏的货币化,如“游戏货币化”一节中讨论的那些形式。重要的是真正研究市场,看看新游戏在直接进入付费模式时表现如何。你可以通过查看 Google Play 商店中热门游戏的详细信息来收集粗略的信息。用户比以往任何时候都更担心为他们还没有参与的事情付费,他们有如此多的免费选项,他们可能会直接跳过一个新的付费游戏。
另一方面,Google Play 仍然有一个“付费”类别,因此在某些情况下,发布一个你认为可以在该类别中崛起的付费游戏可能是有意义的。无论哪种方式,选择很大程度上取决于你的产品有多受欢迎。例如,一款使用可识别的授权角色的游戏,无论内容是什么,都有可能卖出复制品。一个全新的游戏,没有以前的记录,可能很难卖出任何拷贝。做这个决定时,你会想把所有营销方面都考虑进去。
批准
许可是快速赚钱的一个好方法。当我们说“许可”时,我们指的是另一家公司向你支付一定数量游戏发行权的交易。例如,一家主要的移动服务提供商或智能手机供应商可能希望将您的游戏预装在即将发布的新款手机上,作为对潜在买家的额外奖励。在这笔交易中,该公司要么要求你让他们免费预装游戏,要么要求你给他们报一些单价。这些公司愿意支付的单位价格通常比游戏的零售价格低几倍。例如,如果你的游戏正常售价为 2.99 美元,捆绑价格可能是每台 20 到 50 美分。这完全取决于很多因素,比如你的游戏有多受欢迎,会有多少安装。很明显,你会想要协商你能得到的最好的交易,但是如果你把你的游戏设计成自由发布,并且依靠 VC 和 IAPs 的货币化,你不仅可以免费发布它,而且可以通过大大扩大的用户群获得巨大的回报。在这种情况下,大家都是赢家。
对于任何协议,确保你阅读合同并协商对你合适的条款。这需要一点额外的时间和努力,但从长远来看会越来越多。
发现你的游戏
已经有成千上万的安卓游戏上市了,还有更多游戏即将上市。只要浏览一下 Google Play 上最受欢迎的游戏列表,你肯定会看到许多你从未听说过的新游戏,它们是由你不知道存在的新公司开发的。一些开发者很幸运,但是大多数流行的游戏并不是偶然流行起来的。他们的发行商知道如何让用户发现游戏。如何让你的游戏被新用户发现?发现是任何游戏成功的关键,虽然你总是可以通过购买广告形式的可见性来解决问题,但这远不如其他一些方法划算,下面将讨论。
社交网络整合
如果你不使用脸书和推特,那么无论如何,现在就把这本书放下,在你注册了这两个网站后再回来。当涉及到让你的游戏为人所知时,像这样的社交网站是举足轻重的。不过,策略一开始并不那么明显。你应该为你的游戏创建一个脸书页面,并告诉你所有的朋友喜欢它吗?那会给你带来一些下载,但不会更多。发微博有帮助吗?一点点。这两种方法都不能让你的游戏获得商业成功所需的知名度。
从营销的角度来看,这两个社交网站的一些优点是,几乎每个人都使用它们,它们可以免费使用,并且它们对更有创意的解决方案很友好。这里有一些你如何利用这些网站来营销你的游戏的例子:给在脸书上“喜欢”你的游戏的用户 50 个免费的风险投资信用。给在推文中提到你的游戏的用户 50 个免费 VC 积分。每月举行一次高分竞赛,使用像 GREE 这样的服务,奖品是一个新的 Android 设备,只允许那些在脸书上喜欢你的人注册。在最后一个例子中,你必须真的购买一个设备作为奖品,当然,但是就激励“喜欢”而言,这样的策略真的很有效。很容易创造激励让人们互相分享你的游戏,这些网络是这种信息分享的完美平台。
脸书和 Twitter 都提供了 Android SDKs,你可以下载并使用它们来将网络与你的游戏整合在一起。具体情况一直在变化,所以在这里记录它们没有太大意义,但是两者都很容易使用,所以没有理由不尝试一下!
提示 GREE 最近收购了 OpenFeint,将其用户迁移到 GREE 平台。格力提供风险投资、高分、成就、朋友和其他此类服务。查看位于 developer.gree.net/en/[的格力开发者中…](developer.gree.net/en/)
发现服务
有些公司,比如 AppBrain,其唯一的目的就是帮助你的游戏被发现。其他公司,如 TapJoy、Scoreloop 和 Flurry,也有发现服务。这些服务中的大多数都提供了将你的游戏“放到网络中”的方法,这样它就可以被其他游戏推广。你可以支付安装费,并控制一场运动,让你的游戏进入许多人的手中。还记得我们说过 TapJoy 有一项服务,它为你的玩家安装另一个应用或游戏支付 VC,并反过来付给你真钱吗?这是等式的另一边,你是付钱给 TapJoy 让玩家安装你的游戏以换取 VC 的人。
不同的公司提供不同的发现方法,但简而言之,如果你想让你的游戏被发现,并且你有预算,你可能想看看这些服务中的一个或多个。当你把这样的服务和一个好的社交网络策略结合起来,你可能会让雪球越滚越大,为你的游戏制造轰动。
博客和传统网络媒体
让你的游戏被发现的另一个策略是为故事收集试点,为演示创建视频,并将所有这些发送到评论新 Android 应用和游戏的博客。这些网站的编辑收到了大量评论应用和游戏的请求,所以要为他们做尽可能多的工作,提前给他们所有他们需要的信息。耐心点,你可能会得到一些评论。评论本身不会决定一款游戏的成败,但它是创造滚雪球效应的一部分,而滚雪球效应可以导致一款成功的游戏。
通过设计实现货币化
我们已经谈了很多关于游戏赚钱的方法,但我们想明确一点:设计一款游戏来赚钱比把一款已经完成的游戏改造成一个赚钱的方案要容易得多。一款旨在赚钱的游戏可能包含以下一个或多个元素:
-
影响游戏性的可选修改器
-
促进
-
升级
-
欺骗
-
不影响游戏性的可选内容
-
外皮
-
特性
-
实际上完全相同的项目变化
-
附加内容
-
新水平
-
新电影艺术
-
关卡的可解锁部分
-
新零件
-
具有以下属性的虚拟货币
-
可以通过常规游戏获得
-
用于购买升级
-
用于购买附加内容
-
可以用真钱购买
使用这些元素,你可以从一开始就设计一个游戏,为用户购买游戏中的虚拟货币和虚拟商品提供非常有说服力的理由。有时你需要改变风险投资提供的服务,因为一个新的功能或因为一家公司已经倒闭。这种设计足够普遍,允许交换基于 VC 的服务和购买服务,而不会因为改变或删除内容或在切换服务时花费太多开发时间而损害游戏。因此,表现出以下特性的游戏可以说是通过设计可以货币化的:
- 允许玩家购买虚拟产品和货币
- 为玩家购买虚拟产品和货币提供激励
这个计划不是唯一的方法,但它确实是一个成功的方法。有许多成功的 Android 游戏以某种形式使用了这种方案,我们建议考虑一下,或者至少记下一般的想法,并将它们应用到你的游戏中。
通过设计发现
没人发现的游戏有什么好?事实是,现在市场竞争如此激烈,有如此多的免费游戏,为了让你的游戏获得巨大成功,你需要在设计阶段特别注意人们将如何发现你的游戏。有些游戏看起来似乎是突然冒出来的,只是偶然变得流行,但通常在设计这些游戏时会考虑到它们的可发现性。
容易被发现的游戏具有超越“哇”的因素和良好的游戏设计的元素。他们鼓励玩家告诉其他人这个游戏。就像一个被设计为货币化的游戏一样,一个被设计为可被发现的游戏包含了大部分或所有相同的元素(虚拟货币、虚拟商品、可解锁物品、附加内容等)。)作为向其他人讲述游戏的激励。
以下是一些如何在你的游戏内容中加入鼓励玩家与他人分享你的游戏的想法:
- 制作一个只能通过输入从另一个玩家处收到的推荐代码来解锁的内容
- 提供额外的内容或风险投资,用于在脸书上发布关于游戏的微博或分享或喜欢它
- 奖励所有推荐给其他玩家的 VC 玩家
- 整合脸书或其他社交媒体来发布成就和新的高分
- 创建游戏的另一部分,作为一个脸书应用来玩,但以某种方式绑定到移动游戏
增加奖励的方式还有很多,但如果你创造性地思考如何奖励与他人分享你游戏的人,你就走上了正确的道路,这款游戏自然会变得更受欢迎。
摘要
仅仅开发一款游戏并发布它并不足以引起人们的注意或从中赚钱。如果你采用我们在本章中概述的一些策略,你将有更高的成功机会。技术的潮流总是潮起潮落,但本章提供的一般经验和想法应该保持不变,所以请利用您在这里学到的知识,思考如何创建额外的应用和方法来营销和赚钱您的游戏。
十五、发布您的游戏
成为 Android 游戏开发者的最后一步是把你的游戏带给你的玩家。有两条可能的路线:
- 从你项目的 bin/文件夹中取出 APK 文件,放到网上,告诉你的朋友下载并安装到他们的设备上。
- 像专业人士一样,在 Google Play 上发布您的应用。
第一个选项是一个很好的方法,让其他人在你把你的应用放到 Google Play 商店之前测试它。他们所需要做的就是得到 APK 的文件,并把它安装到他们的设备上。一旦你的游戏准备好了,真正的乐趣就开始了。
关于测试的一句话
正如我们在前面的章节中看到的,设备之间有各种不同。在你发布你的应用之前,确保它能在一些常见的设备和不同的 Android 版本上运行良好。有几种方法可以解决这个问题。你可以购买一系列具有不同硬件功能的设备,运行不同版本的 Android 并进行内部测试,也可以购买任何一种新的 Android 测试服务。我们很幸运地拥有几款手机和平板电脑,涵盖不同的设备类别和代次,以供测试。然而,根据你的预算,这两种方法都不是你的选择。你可能不得不依靠模拟器(但不要太多,因为它确实不可靠),或者最好依靠几个朋友来帮助你。
另一种测试你的应用的方法是在 Google Play 商店放一个测试版。您可以在标题中清楚地将您的应用标记为 beta,这样用户就知道会发生什么。当然,一些用户会很乐意忽略所有的警告,仍然抱怨你潜在的未完成的应用的质量。这就是生活,你可能不得不面对负面的和不公正的评论。但是请记住:你的用户才是王道。不要生他们的气——而是想办法改进你的应用。
以下是我们在应用发布前常用的测试设备列表:
- 三星 Galaxy Leo/I5801,320×240 像素屏幕
- HTC Hero 搭载 Android 1.5,480×320 像素屏幕
- 搭载安卓 1.6,480×320 像素屏幕的 HTC G1
- 摩托罗拉 Milestone/Droid 搭载 Android 2.1,854×480 像素屏幕
- HTC Desire HD 采用 Android 2.2,800×480 像素屏幕
- Nexus One 搭载 Android 2.3,800×480 像素屏幕
- HTC Evo 4G 搭载 Android 2.2,800×480 像素屏幕
- 搭载 Android 2.2 和 4.0 的三星 Galaxy S,800×480 像素屏幕
- 三星 Nexus S 搭载 Android 4.1,800×480 像素屏幕
- 三星 Galaxy Nexus 搭载 Android 4.1,800×480 像素屏幕
- 三星 Galaxy Tab 10.1 搭载 Android 3.1,1280×800 像素屏幕
- 谷歌 Nexus 7 平板,搭载安卓 4.1,1280×800 像素屏幕
如你所见,我们涵盖了相当多的屏幕尺寸/分辨率和设备代。如果你寻找外部测试人员,确保你覆盖了这里列出的大多数设备。当然,更新的设备也应该在你的列表中,但更多的是为了兼容性测试,而不是性能测试。如果没有其他事情,请确保您至少在几台谷歌官方设备上进行测试,包括 Nexus 7、Galaxy Nexus、Nexus S 和 Nexus One 设备。如果你的游戏在这些设备上运行得不好,如果你不做出改变,你肯定会遇到麻烦。
最后,您必须接受这样一个事实,即您无法在所有设备上测试您的应用。您很可能会收到莫名其妙的错误报告,这很可能是因为用户运行的自定义 rom 的行为不符合预期。无论如何,不要慌;这在某种程度上是正常的。但是,如果错误的问题太严重了,你就必须想出一个方案来解决它。幸运的是,Google Play 在这方面帮助了我们。我们一会儿会看到它是如何工作的。
注意除了 Google Play 的错误报告功能,还有另一个很好的解决方案叫做 Android 应用崩溃报告(ACRA),这是一个开源库,专门用来报告你的 Android 应用的所有崩溃。在 code.google.com/p/acra/的 ?? 可以买到,而且非常容易使用。只需按照 Google 代码页上的指南将其集成到您的应用中。
成为注册开发者
Google 使得在 Google Play 商店上发布您的应用变得非常容易。你所要做的就是一次性支付 25 美元注册一个 Android 开发者账户。假设你生活在谷歌支持分发应用的国家名单中的一个国家,这个帐户将允许你在 Google Play 上发布你的应用。你是只能发布免费应用还是既能发布免费应用又能发布付费应用,这取决于你所在的国家。要发布付费应用,你必须居住在谷歌支持商家的较短名单上的国家之一。谷歌还列出了可以免费分发应用的国家和可以分发付费应用的国家。谷歌正在努力扩大这些列表,以便您的应用可以覆盖全球。
你的谷歌 Play 商店出版商账户与谷歌账户直接绑定。除非取消限制,否则您不得将发布者帐户与 Google 帐户分开。在决定是注册现有帐户还是注册新的专用帐户时,考虑这一点很重要。一旦你做出了决定,并准备好了你的谷歌账户,访问play.google.com/apps/publish/signup,按照那里给出的指示注册谷歌 Play 商店。
除了你的 Android 开发者账户,如果你想出售你的应用,你还需要注册一个免费的 Google Checkout 商家账户。在开发者帐户注册过程中,您可以选择这样做。我们不是律师,所以在这一点上我们不能给你任何法律建议,但在你这样做之前,请确保你理解销售应用的法律含义。如果有疑问,考虑就此事咨询专家。我们无意以此吓退你,因为这个过程总体来说是相当简化的,但是你应该准备好让你政府的税务部门了解你的销售活动。
谷歌将从你辛苦赚来的钱中抽取一定比例(撰写本文时为 30%)用于分发你的应用和提供基础设施。这似乎是各种平台上所有应用商店的标准做法。
签署你的游戏的 APK
成功注册成为 Android 官方开发者后,就该准备将应用发布到 Google Play 了。为了发布你的申请,你必须签署 APK 文件。在你这样做之前,你应该确保一切就绪。这里有一个在签署 APK 文件之前要做的事情的清单:
- 从清单文件中的标签中删除 Android:debuggeable 属性,或者将其设置为“false”。
- 在标签中,您会发现 android:versionCode 和 android:versionName 属性。如果您已经发布了应用的早期版本,则必须增加 versionCode 属性,并且还应该更改 versionName 属性。versionCode 属性必须是整数;versionName 属性可以是您喜欢的任何内容。
- 如果您的构建目标等于或高于 SDK level 8 (Android 2.2),您还应该确保标签将 android:installLocation 属性设置为 preferExternal 或 auto。这将通过确保您的应用尽可能安装在外部存储上来满足您的用户。
- 确保只指定游戏真正需要的权限。用户不喜欢安装似乎要求不必要权限的应用。检查清单文件中的标签。
- 确认您正确设置了 android:minSdkVersion 和 android:targetSdkVersion 属性。您的应用只能在运行 Android 版本等于或高于指定 SDK 版本的手机上才能在 Google Play 上看到。
仔细检查 所有这些项目。完成后,您可以通过以下步骤最终导出一个已签名的 APK 文件,该文件已准备好上传到 Google Play:
-
Right-click your project in the Package Explorer view and select Android Tools
Export Signed Application Package to launch the Export Android Application wizard. You’ll be greeted with the Project Checks dialog, shown in Figure 15-1.
图 15-1。签名导出对话框
-
Click the Next button to move to the Keystore selection dialog, shown in Figure 15-2.
图 15-2。选择或创建密钥库
-
A keystoreis a password-protected file that stores the key with which you sign your APK file. Since you haven’t created a keystore yet, you’ll do so now in this dialog. With the “Create new keystore” radio button selected, just provide the location where you want to store the keystore, along with the password that you will use to secure it. Click the Next button to move to the Key Creation dialog, shown in Figure 15-3.
图 15-3。创建用于签署 APK 的密钥
-
To create a valid key, you have to complete the Alias, Password, and Validity (years) fields, as well as enter a name in the First and Last Name field. The rest of the fields are optional, but it’s a good idea to fill them out nevertheless. Click Next, and you are shown the final dialog (see Figure 15-4).
图 15-4。指定目标文件
-
指定存储导出的 APK 文件的位置,并确保记下路径。稍后,当您想要上传 APK 时,您将需要它。单击完成。
当您想要发布以前发布的应用的新版本时,您可以重用第一次使用向导时创建的密钥库。启动向导,当您到达图 15-2 中的所示的密钥库选择对话框时,选择“使用现有密钥库”单选按钮,提供您先前创建的密钥库文件的位置,并提供密钥库的密码。当你点击下一步,你会看到“键别名选择”对话框,如图图 15-5 所示。只需选择您之前创建的密钥,为其提供密码,单击 Next,然后像以前一样继续操作。在这两种情况下,结果将是一个签名的 APK 文件,可以上传到 Google Play。
注意一旦你上传了一个签名的 APK,你必须使用相同的密钥来签署同一应用的任何后续版本。
图 15-5。重用密钥
那么,你创造了你的第一个签名 APK——祝贺你!现在,我们将抛出一个扳手到工程,并通知您关于多 APK 支持。对于单个应用,您可以创建多个 apk,这些 apk 使用设备功能过滤来为安装您的应用的每个用户找到“最佳选择”。这是一个很棒的功能,因为这意味着您可以做如下事情:
- 提供与特定 GPU 兼容的特定映像集。
- 针对旧版本 Android 的有限功能集。
- 为更大的屏幕尺寸提供更大比例的图形,为所有其他屏幕尺寸提供常规比例的图形。
随着时间的推移,谷歌肯定会添加更多的过滤器,但这里概述的一套过滤器可以让你真正专注于目标设备(如平板电脑),而不必通过太多的限制来保持第一代设备支持的合理下载量。
将您的游戏放入 Google Play
是时候在 Google Play 网站上登录您的开发者帐户了。只需前往play.google.com/apps/publish并登录即可。你会看到如图图 15-6 所示的界面。
图 15-6。开发者,欢迎来到 Google Play!
这个界面就是谷歌所说的 Android 开发者控制台,也就是你最初注册时瞥见的。现在我们准备好实际使用它了。单击屏幕底部的上传应用按钮,您可以通过打开编辑应用屏幕来上传应用。让我们来看一下编辑应用屏幕的一些部分,第一部分,上传素材(在产品详细信息选项卡上),如图图 15-7 所示。
图 15-7。编辑 Android 开发者控制台的应用屏幕
上传素材
发布你的游戏需要大量的素材和信息。屏幕截图、图标、描述、类别等等,都有所需的大小和格式,在产品详情选项卡上列出。
如图图 15-7 所示,你必须提供至少两张你的应用的截图。它们必须是特定的格式(24 位 JPEG 或 PNG)和大小(320×480、480×800、480×854、1280×720 或 1280×800)。当用户在 Google Play 商店(手机应用和 play.google.com/storeT2 的官方网站)查看您的应用详情时,将会显示这些截图。
接下来,你必须上传一个 512×512、高分辨率、32 位的 PNG 或 JPEG 格式的应用图标。目前,只有当用户在 Google Play 商店网站上查看您的应用时,才会显示这一点。弄得花哨一点。
如果您的游戏是特色游戏,宣传图片(180w×120h,24 位 PNG 或 JPEG)和特色图片(1024×500,24 位 PNG 或 JPEG)会显示在 Google Play 商店中。成为特色是一件大事,因为这意味着当用户在移动应用或网站上打开 Google Play 商店时,你的游戏将是他们首先看到的应用之一。谁被选中取决于谷歌,只有他们知道这个决定的依据。
你可以提供一个应用的 YouTube 推广视频的链接。这将出现在 Google Play 商店网站上,这是一个重要的营销工具,因为它让用户在决定下载之前可以很好地预览你的游戏。这也是谷歌在考虑是否为你的游戏添加特色时可能会考虑的事情。
如果您的游戏有隐私政策,规定了如何存储、处理和发布用户信息,您可以在隐私政策字段中添加信息链接。如果您没有隐私政策,只需勾选“此时不提交隐私政策 URL”
请注意,Google Play 开发者界面会不断变化,可能会包括此处未列出的其他功能。
产品详情
向下滚动到编辑应用屏幕的列表细节部分,如图 15-8 所示。这些细节将在 Google Play 商店向用户显示。您可以指定语言,提供标题(最多 30 个字符),还可以添加应用的描述(最多 4000 个字符)。额外的 500 个字符可用于通知用户应用最新版本中的最新更改。推广文本(最多 80 个字符)将仅在您的应用被 Google 选中时使用。
图 15-8。Android 开发人员控制台的列表详细信息部分
接下来,您必须指定您的应用的类型和类别。对于每种应用类型,都有一系列类别可供选择。对于游戏,您可以指定街机和行动,大脑和益智,纸牌和赌场,休闲,或赛车和体育。选项让分类有点混乱(赛车不是运动?),他们可以更好地思考。希望未来能有所改变。
发布选项
“编辑应用”屏幕的“发布选项”部分允许您指定是否要复制保护应用、其内容分级以及希望其可用的位置。
复制保护功能已被否决,您不应该使用它,因为它不是有效的,而且会产生一些其他问题。相反,Google 提供了一个 API 来将许可服务集成到您的应用中。这项服务是为了让用户更难盗版你的游戏。评估这项服务超出了本书的范围;如果你对盗版有疑虑,我们建议你去 Android 开发者网站。与许多数字版权管理(DRM)方案一样,用户报告了无法运行或安装使用许可服务的应用的问题。当然,对此不能全信。如果你需要的话,这是你目前 DRM 的最佳选择。
内容分级允许您指定目标受众。您可以通过单击内容分级标题下的了解更多链接,找到对您自己的应用进行分级的指导原则。Google Play 将根据您给应用的内容评级对其进行过滤。所以,仔细评估适合你游戏的评分。Google 可能会决定您的应用需要更成熟的内容分级,在这种情况下,Google 团队将指定他们认为更合适的分级。
您可以选择应用可用的位置。当然,通常您希望它随处可用。然而,尽管这不太可能,但可能存在这样的情况,即您希望仅在选定的位置发布应用,这可能是出于法律原因。
现在你必须决定用户是否会为你的游戏付费。这是最终决定。一旦你实现了两个选项中的一个,你就不能改变它,除非你用不同的密钥重新发布你的游戏。如果你这样做,你会失去任何用户评论,你也会疏远你的用户。想想你的游戏要走的路线。我们不会给你游戏定价的建议,因为这取决于多种因素。0.99 美元的价格似乎是大多数游戏的标准,也是用户的期望。然而,没有什么能阻止你在这里尝试一下。如果你出售你的游戏,确保你了解这样做所涉及的法律问题。
最后,在发布选项部分的底部,您将获得一些关于您的应用支持的设备的信息。此处列出了屏幕布局支持和所需设备功能等属性。当您点击显示设备链接时,您将会看到图 15-9 中的屏幕。这将列出所有与您的 apk 兼容的设备。您可以在此对话框中搜索设备并手动排除设备。当某个设备被排除或不在支持列表中时,您的游戏将不会在该特定设备的 Google Play 商店中显示。如果你遇到游戏在特定设备上不显示的问题,这是用来调试问题的屏幕。
图 15-9。设备可用性
在完成“产品详细信息”选项卡的最后两个部分之前,请切换到“APK 文件”选项卡,阅读以下有关管理 APK 文件的信息。
APK 档案管理
编辑应用屏幕上的第二个选项卡, APK 文件,让您管理您的 APK,并提供一些关于正在应用的设备过滤的附加信息。图 15-10 显示了游戏《抗原:爆发》的 APK 文件标签。
图 15-10。 APK 文件管理
虽然这里只有一个 APK 是活动的,但你可以清楚地看到,通过改变 API 级别、支持的屏幕、OpenGL 纹理以及不同 apk 的原生平台,可以支持多个 apk。这款 APK 支持 API 级别 3–16+,小到超大屏幕,所有 OpenGL 纹理,以及 armeabi)设备。
在点击应用图标下的“更多”后,正如我们已经在图 15-10 中所做的,你可以看到游戏的所有权限和功能。这个游戏需要球场位置、互联网、振动和蓝牙功能,用户在安装游戏之前将会看到这些要求。
在这里添加更多的 APK 就像点击上传 APK 一样简单。升级时,请记住,您只能有一个具有相同功能支持的活动 APK,因此请确保在完成之前停用您的旧 APK。
发布!
回到“产品详细信息”标签,您将指定的最后几件事情是您的联系信息、您对 Android 内容指南的同意(链接在同一页面上——阅读它们),以及确认您的应用符合所有美国出口法律,如果您的游戏是标准的 Android 应用,这是一个安全的赌注。
在提供了所有这些信息之后,是时候点击页面底部巨大的发布按钮,让你的游戏面向全球数百万人开放了!没有审查过程,因此在一两个小时的服务器传播时间后,您的游戏将在 Google Play 商店的所有支持设备上上线。
关于开发人员控制台的更多信息
一旦你的游戏在 Google Play 上发布,你会想要跟踪它的状态。到目前为止有多少人下载了?发生过撞车事故吗?用户在说什么?你可以在 Android 开发者控制台查看所有这些(见图 15-6 )。
对于您发布的每个应用,您可以获得一些信息:
- 您游戏的总体评分和评分数量
- 用户的评论(只需点击相应应用的评论链接)
- 应用安装的次数
- 应用的活动安装数量
- 错误报告
我们对错误报告特别感兴趣。图 15-11 显示了游戏《抗原:爆发》收到的错误报告。
图 15-11。错误报告概述
总共有一次冻结和七次崩溃。抗原:Outbreak 上市一年多了,那还不错。当然,您可以进一步深入到具体的错误。开发人员控制台的错误报告功能将为您提供关于崩溃和冻结的详细信息,例如发生问题的设备型号、完整的堆栈跟踪等等。当你试图找出你的应用到底出了什么问题时,这可能会有很大的帮助。对市场的评论不会比一般的问题识别有更多的帮助。
注意错误报告是一项设备端功能,旧版 Android 不支持。如前所述,如果你想完全确信你已经发现了所有问题,我们建议你去看看 ACRA。
摘要
在 Google Play 上发布你的游戏轻而易举,而且准入门槛非常低。你现在已经掌握了在 Android 上设计、实现和发布你的第一个游戏的所有必要知识。愿原力与你同在!
十六、下一步是什么?
我们在这本书里谈了很多东西,但是关于开发 Android 游戏还有很多东西需要学习。如果你对本书中的所有内容都感到满意,你可能会想深入了解。这简短的一章为你的旅程提供了一些思路和方向。
位置感知
我们只是在第一章第一章和第四章第三章中简单地提到了这一点,我们没有在任何游戏中利用它。所有 Android 设备都带有某种类型的传感器,可以让你确定它们的位置。这本身是一个足够有趣的特性,在游戏中使用它可以产生一些创新的和前所未见的游戏机制。大多数安卓游戏几乎不使用这个功能。你能想出在游戏中使用 GPS 传感器的有趣方式吗?
多人游戏功能
这是一本初学者的书,我们还没有谈到如何创建多人游戏。可以说 Android 为你提供了这样的 API。根据游戏类型的不同,实现多人游戏功能的难度也不同。回合制游戏,如国际象棋或纸牌游戏,实现起来非常简单。快节奏的动作游戏或即时战略游戏完全是另一回事。在这两种情况下,你都需要对网络编程有所了解,这个主题在网上有很多资料。
OpenGL ES 2.0/3.0 及更多
到目前为止,可以说你只看到了 OpenGL ES 的一半。我们专门使用了 OpenGL ES 1.0,因为这是目前 Android 上支持最广泛的版本。它的固定功能特性非常适合 3D 图形编程。然而,有一个更新、更好的 OpenGL ES 版本可以让你直接在 GPU 上编码。它与您在本书中看到的非常不同,因为您负责所有的本质细节,例如从纹理中获取单个纹理元素或手动转换顶点的坐标,所有这些都直接在 GPU 上进行。
与 OpenGL ES 1.0 和 1.1 的固定功能管道相反,OpenGL ES 2.0 具有所谓的“基于着色器”或可编程的管道。较新的 OpenGL ES 规范,如 3.0,遵循相同的模型并向后兼容 2.0,所以我们只是将它们统称为 2.0。对于许多 3D(和 2D)游戏来说,OpenGL ES 1.x 已经足够了。但是,如果你想变得更有趣,你可以考虑看看 OpenGL ES 2.0!不要害怕——您在本书中学到的所有概念都可以很容易地转移到可编程管道中。
有一个谷歌支持的 Android 库,名为 Renderscript,这是一个高级接口,用于构建基于 OpenGL ES 2.0 的华丽效果,而没有使用其乏味的 API 实现它们的所有痛苦。不要误解我们——OpenGL ES 2.0 很棒,我们在这方面有丰富的经验——但是 Renderscript 无疑提供了一种创建许多图形效果的更简单的方法,并且它是 Android 股票版本附带的许多默认动态壁纸的核心。
我们还没有触及动画 3D 模型和一些更高级的 OpenGL ES 1.x 概念,如顶点缓冲对象。和 OpenGL ES 2.0 一样,你可以在网上找到很多资源,也可以在书里找到。Smithmick 和 Vernma 的Pro OpenGL ES for Android(a press,2012)有更深入的信息和关于 2.0 的一章。你知道最基本的。现在是时候学习更多知识了!
框架和引擎
如果你在购买这本书时对游戏开发知识知之甚少,你可能会想为什么我们不选择使用 Android 游戏开发中现有的框架。重新发明轮子不好,对吧?如果你想彻底理解其中的原理就不会。虽然学习它们有时可能会很乏味,但最终会有回报的。当你用你在这里获得的知识武装起来时,在那里获得任何预先设定的解决方案会容易得多,我们希望你能认识到给你带来的优势。
对于 Android,存在几种商业和非商业的开源框架和引擎。框架和引擎有什么区别?
- 框架让你可以控制游戏开发环境的方方面面。这是以不得不找出自己的做事方式为代价的(例如,你如何组织你的游戏世界,你如何处理屏幕和过渡,等等)。在这本书里,我们开发了一个非常简单的框架,在这个框架上我们可以构建我们的游戏。
- 对于特定的任务,引擎更加精简。它规定了你应该如何做事情,为你的游戏提供了简单易用的模块和通用架构。不利的一面是你的游戏可能不适合引擎提供给你的解决方案。通常,您必须修改引擎本身来实现您的目标,这取决于源代码是否可用。引擎可以大大加快最初的开发时间,但是如果您遇到一个问题,而该引擎并不是为这个问题而制造的,那么它们可能会使开发速度变慢,甚至停滞不前。
最后,这是个人品味、预算和目标的问题。作为独立开发人员,我们更喜欢框架,因为它们通常更容易理解,因为它们让我们按照我们希望的方式做事。
也就是说,选择你的毒药。这里有一个可以加速你开发过程的框架和引擎列表:
- 虚幻开发套件 ( www.udk.com)::) 一个运行在众多平台上的商业游戏引擎,由 Epic Games 开发。史诗制作游戏,如虚幻锦标赛,所以这个引擎是优质的东西。它使用自己的脚本语言。
- Unity(
Unity 3d . com)::)又一个工具和功能都很棒的商业游戏引擎。它也可以在多种平台上运行,包括 iOS 和 Android,或者在浏览器中运行。它很容易学习,并允许一对夫妇的游戏逻辑编码语言;Java 不在其中。 - jPCT-AE(www . jPCT . net/jPCT-AE/)::)Android 基于 Java 的 jPCT 引擎的一个端口。它在 3D 编程方面有一些很棒的特性。它可以在桌面和安卓系统上运行。闭源。
- ardor 3D(www . ardor 3D . com)::)一个非常强大的基于 Java 的 3D 引擎。它可以在 Android 和桌面上运行,并且是开源的,有很好的文档。
- libGDX(
libGDX . badlogicgames . com)::)Mario zech ner 为 2D 和 3D 游戏开发的基于 Java 的开源游戏开发框架。它可以在 Windows、Linux、Mac OS X、HTLM5、iOS 和 Android 上运行,无需任何代码修改。您可以在桌面上开发和测试,而不需要连接设备和上传您的 APK 文件(或者必须使用缓慢的模拟器)。读完这本书后,你可能会有宾至如归的感觉——这都是我们邪恶计划的一部分。你有没有注意到这个点只是比其他的点稍微大一点? - Slick-AE(
Slick . coke and code . com)::)基于 Java 的 Slick 框架到 Android 的一个移植,构建在 libgdx 之上。它有大量的功能和一个易于使用的 2D 游戏开发 API。当然是跨平台和开源。 - and engine(www . and engine . org)::)一个不错的基于 Java 的,只支持 Android 的 2D 引擎,部分基于 libgdx 代码(开源为赢)。它在概念上类似于著名的 iOS 版 cocos2d 游戏开发引擎。
- battery tech SDK(www . batterypoweredgames . com/battery tech)::)c++ 开源商业库,支持跨平台游戏代码,正式支持 Android、iOS、Windows、Mac OS X 作为构建目标。
- Moai(
get Moai . com)::)c++ 中的又一个开源商业库,以跨平台的游戏代码针对 Android 和 iOS。 - 木瓜的社交游戏引擎(
papayamobile . com/developer/Engine)::)免费的安卓专属 2D 游戏引擎,包括物理 API、OpenGL 支持、粒子特效等等。
越来越多的中间件、框架和引擎一直在出现,所以这个列表并不详尽。我们建议在某个时候尝试这些选项。他们可以帮助你加快游戏开发的速度。
网络资源
网络上充满了游戏开发资源。总的来说,谷歌将是你最好的朋友,但是有一些特别的地方你应该去看看,包括这些:
- www.gamedev.net: 网络上最古老的游戏开发网站之一,拥有大量关于各种游戏开发主题的文章。
- www.gamasutra.com: 游戏开发的又一个老巨人。更面向行业,有很多事后分析和对专业游戏开发世界的洞察。
- 一个关于游戏开发的大型 wiki,里面充满了关于不同平台、语言等游戏编程的文章。
- www.flipcode.com/archives/:现… flipcode 遗址的档案。这里可以找到一些珍珠。虽然有时有点过时,但它仍然是一个非常好的资源。
- www . Java-gaming . org:Java 游戏开发者的头号去处。众所周知,像 ??《我的世界》的马库斯·佩尔森这样的名人经常光顾这个地方。
结束语
写这本书的时候,我们经历了许多不眠之夜,接着是几天布满血丝的眼睛。我们可以说,虽然生活中很少有什么事情比制作视频游戏和向他人传播我们的知识更让我们享受,但能坚持到这个项目的最后几段肯定是很棒的。
写这本书是一种乐趣(早上,没有那么多),我们希望我们给了你你来这里的目的。有太多的东西有待发现,太多的技术、算法和想法有待探索。这对你来说只是个开始。前面还有更多要学的。
我们相信,有了我们分析和讨论的材质,你就有了一个坚实的基础,这将使你更快地掌握新的思想和概念。再也不用陷入复制粘贴代码的陷阱了。更好的是,我们讨论的几乎所有东西都可以很好地移植到任何其他平台上(给予或接受一些语言或 API 差异)。我们希望你能看到全局,这将使你能够开始构建你梦想中的游戏。