问题
你不知道如何在iOS游戏中结合排行榜。
解决方案
在iTunes Connect中建立排行榜。
讨论
游戏中心的功能之一是在iOS应用程序中管理排行榜。举例来说,你可以编写一个竞技游戏,让玩家竞争以取得最好的成绩。然后将这些成绩提交到排行榜,并允许玩家查看排行榜。这就让玩家回到你的游戏中有了一个缘由(为了和他的好友们竞技)。
为在应用程序中使用排行榜,你必须首先在iTunes Connect中创建它们。下面是步骤:
1. 转到Apple Developer Portal,从屏幕的右边选择iTunes Connect。
2. 在iTunes Connect中选择“Manage Your Applications”。
3. 在“Manage Your Applications”中,选择想要添加排行榜的应用程序(注意,你必须已经为该应用程序启用了游戏中心,参考图1-4)。
4. 进入iTunes Connect中的应用程序之后,选择屏幕右边的“Manage Game Center”按钮。
5. 在排行榜框的下面,选择“ Set Up”按钮。
6. 在左上角选择“Add Leaderboard”按钮。
在游戏中心中,有两种类型的排行榜。
Single Leaderboard
你可以向该排行榜提交成绩或者从该排行榜获取成绩。你可以将它用于游戏中的各个级别。比如,游戏级别1使用一个排行榜,级别2使用另外一个排行榜。
Combined Leaderboard
该排行榜从多个排行榜中合并数据。举例来说,如果你的游戏有10个级别,并且每个级别一个排行榜(即,共有10个排行榜),而你想要从这10个排行榜中找出成绩最感的玩家,此时,Combined Leaderboard就派上用场了(稍后有更详细讲解)。
遵循下面的步骤来创建一个Single Leaderboard,该排行榜可以包含1到1000的成绩,其中1000为最高成绩。
1. 在“Single Leaderboard”目录中选择“Choose”按钮。
2. 在“Leaderboard Reference Name”框中,输入名称。稍后在iTunes Connect中,你可以看到该名称。你可以选择一个描述性的名称,比如"My Game's Level 1 Leaderboard."
3. 在“Leaderboard ID”框中,输入ID。稍后在代码中将使用该ID引用创建的排行榜。举例来说,我选择使用MGL1LB,表示“My Game's Level 1 Leaderboard”。
4. 在“Score Format Type”下拉框中,选择“Integer”(因为我们要提交的成绩范围为1到1000)。
5. 对“Sort Order”,选择“Descending”,因为我们想要将最高成绩显示在顶部,而最低成绩显示在底部。如果要将最低成绩显示在顶部,最高成绩显示在底部,就选择“Ascending”。
6. 在“Score Range”中,设置左边的框的值为1,右边的为1000。它们定义了你的应用程将提交给排行榜的成绩范围。在此范围之外的任何成绩都会被游戏中心自动删除。
游戏中心中的每个排行榜都有自己的本地区域(本地化),它由iTunes Connect管理。例如,如果你的应用程序支持English 和 Italian,那么你想在向这两个国家的玩家显示排行榜数据时,使用各自对应的语言。具体点,显示"120 points"给Italian玩家就不是很好。"points"部分是English,不应当显示给Italian玩家。iTunes Connect允许你为成绩指定这些前缀和后缀,让它们依赖于玩家在其设备上启用的本地区域。一件幸事是,一旦你在iTunes Connect中输入了这些值,设备上的游戏中心API将自动从游戏中心服务器获取正确的区域值(根据当前设备的本地区域)。你无须在运行时检测本地区域。
7. 选择“Add Language”按钮,如果1-9。
图 1-9 在iTunes Connect中添加English区域到排行榜
8. 从“Language”框中选择“English”。
9. 在“Name”框中,选择排行榜的名称(该名称将向玩家显示)。此处,我选择的是“Level 1”。
10. 在“Score Format”中,选择“100,000,122”。
11. 在“Score Format Suffix (Singular)”中,写入“point”。该值在成绩为1时使用(附加到成绩字串末尾)。
12. 在“Score Format Suffix Plural”中,输入“points”。该值在成绩不为1时使用(附加到成绩字串末尾)。例如,玩家在游戏级别1是成绩为1,在排行榜中显示“1 point”;而另外一个玩家成绩1000,显示为“1000 points”。
13. 点击“Save”按钮。
14. 添加本地区域之后,点击“Add Leaderboard”界面中右下角的“Save”按钮。
创建排行榜至此结束,接下来你就可以在你的应用程序中使用游戏工具包对其进行访问。