大多数浏览器和
Developer App 均支持流媒体播放。
-
使用 Game Center 仪表盘触及新玩家
了解 Game Center 的活动仪表盘将如何帮助您的游戏吸引新的玩家。我们将介绍仪表盘和描述文件,探索它们如何为您的游戏追踪玩家成就、高分以及排行榜变化。我们还将说明如何利用 Game Center 插件将 Game Center 添加到您的 Unity 游戏项目。
资源
相关视频
Tech Talks
WWDC22
WWDC21
WWDC20
-
下载
大家好 我是 Knott 来自 Game Center Engineering 团队 今天 我给大家演示下我们今年 Game Center 的改进 Game Center 是 Apple 的 社交游戏平台 玩家可在 Game Center 中 设置个人档案与好友联机
您可以轻松使用 GameKit 将 Game Center 整合进来 玩家可自动注册 与好友 及排行榜的其他玩家 对比得分 通过达成成就跟踪进度 您可以整合资源 安排多人游戏配对 和实时竞赛
在过去数年来 我们推出了 Access Point 重新设计了成就和排行榜体验 推出好友 API 提升多人游戏体验 此外 我们也将 Game Center 活动 进行了跨设备扩展 包括在 App Store 中查看 您的好友正在玩的游戏 创建全新小组件 如继续游戏(Continue Playing) 和朋友在玩(Friends are Playing)
今年 我们更进一步 提升了所有玩家的游戏体验 提供了更多渠道公开 您在游戏中的傲人成绩 为您提供与 Game Center 整合的 全新工具 Activity 将您在 Game Center 中的 所有事件 都整合到一个位置 我会给大家进行演示 但在演示之前 我要声明一下 我知道许多游戏开发者们 都使用 Unity 帮助建立 Apple 平台上的 游戏体验 今年 我们推出了专门为 GameKit 打造的 Unity plug-in
该 plug-in 提供 完整的 C# GameKit API 所以 您不必在使用 Unity 开发游戏 以及完全使用 Game Center 一流的游戏功能这两者之间纠结
在这个 Session 中 您能同时看到 Swift 和 C# 提供的代码示例 现在我们进入今年 Game Center 最大的改变 这就是活动(Activity) 汇聚了在您游戏中有许多激动人心的事件 而这些一定也是玩家想和好友分享的 比如 达成一个新成就 排行榜排名提升 今年 我们重新设计了 Game Center 面板 您在游戏中 和不同游戏中玩家好友的活动 可在一个位置显示
玩家打开面板后 可以看到 您游戏中的最近活动 如达成的成就 朋友排行榜排名 大幅提升 或一位好友 超越了另一位好友的得分 当然 这一功能在 iPad Mac 和 Apple TV 中均适用 玩家能了解并参与到好友的游戏中 真的是一件非常令人激动的事 您的游戏和游戏中所有重大活动 都能在不同的位置展现 如果您的游戏已经使用了 Game Center 那无需过多操作 您的游戏就会自动 出现在 Activity 中 如果没有 要开始也并不难 您只需要启动 Game Center 功能 写下几行代码 确保能顺利通过验证 首先 到您游戏的 Xcode 项目 然后到 Signing 和 Capabilities 选项卡 点击 add capability 按钮 然后选择 Game Center 然后 在 App Store Connect 找到您的 App 记录 从而在您游戏中 启动 Game Center 您也是在这一界面 配置 Game Center 功能 如排行榜和成就 最后 导入 GameKit 然后通过设置 authenticateHandler 验证本地玩家 这个代码需尽早加入您游戏中 甚至是在标题屏幕 然后 如果 callback 中 view controller 可用 就在这里展示 对 Unity 开发者来说 只需要在 GKLocalPlayer 中调用 authenticate 这一静态方法在验证后 就会返回本地玩家对象 恭喜您 您的游戏现在已成功 启用 Game Center 玩家登陆您的游戏时 就能看到这个欢迎横幅 在玩家的信息流中 就会出现您游戏的活动 现在 您只需要为玩家提供 简单访问面板的方式即可 通过 Game Center Access Point 无疑是最好的 Access Point 为您的玩家 提供了登陆 Game Center 面板的 便捷方式 我们回到代码 展示 Access Point 很简单 首先 您要决定展现的最佳时机 您应考虑在游戏中最合理的 展示方式是什么 但对大多数游戏来说 最理想的展示方式在游戏菜单页面 做好决定后 您只需要 为其展示确定一个位置 然后将 GKAccessPoint 的 isActive 属性设置为 true 最后 Access Point 就会在您的游戏中展示 这是 Unity 开发者如何使用 C# 的 GKAccessPoint 的说明 设置 Access Point 的位置 将 IsActive 设置为 true 当玩家操作 Access Point时 系统弹出面板 为玩家提供一个熟悉的地方 来了解您的游戏 以及查看最近活动 玩家可以探索您游戏的 独有成就和排行榜 接下来 玩家会看到您的游戏活动 在信息流首位展示 这里您可以看到 我和 Cloeax Jeezzzy 都在玩 The Coast 只需要这几行代码 在 Apple 平台中尝试 更广泛的游戏体验时 您的游戏就会提高 用户触及率及分配率 您游戏中可以添加许多 可生成 Activity 的功能 我们首先看看排行榜 排行榜(Leaderboard)是在 Activity 中 增加您游戏曝光量的强大方法 它们鼓励友好竞赛 为玩家提供更多理由 回到您的游戏中 您设置游戏的排行榜后 好友在排行榜中获得较好成绩时 玩家会看到新活动 这里 我的好友在排行榜中的 排名在前 25% 中 仅在玩家好友超越其排行榜分数时 Activity 才会进行强调 这里 Simundane 在游戏中超越了 我们的分数 我们俩一直都在 您追我赶地比拼 在这个活动中 玩家会受到一则通知 这一通知是 Game Center 发出的 您无需担心如何为用户发送 关于您游戏的通知 如果您游戏可提供排行榜 这些活动会自动展示 即使您已经利用排行榜 考虑扩展排行榜集合 提供更多关于玩家及其好友的 竞赛瞬间 排行榜循环提供了及时性的感觉 以及持续游戏的理由 接下来 我再解释下 Game Center Achievements 是如何 在 Activity 中占据主要位置的 Achievements 为玩家提供 额外方式 从而参与您的游戏 跟踪游戏进程及与好友共享进展 当玩家在您的游戏中 达成一项成就时 这也会反映在他们的活动 和好友活动中 当玩家完成您游戏的 每一项成就时 我们会用一点时间 进行特定的庆祝活动 成就(Achievement)为玩家提供进步感 和成就感 也可以讲述玩家在您游戏中 所完成的进程 成就 Activity 的显眼位置呈现 因此在 Game Center 社交网络中 马上能有扩大的可见度 玩家可以看到好友在做什么 他们就有更多的理由 加入您的游戏 一起竞赛 您刚刚看到了 玩家登陆您的 游戏面板后会看到什么界面 玩家也可以访问好友个人资料 在一个地方查看所有近期活动 当然 您是否能查看 好友的个人资料 仍然是基于他们在 Game Center 设置中的 资料隐私选项的 这就是 Activity 一个玩家能发现好友 在您游戏中的活动 以及不同游戏中的活动的地方 总而言之 通过 Game Center 您的玩家可以与好友联机 与好友竞赛 从而获得更多 游戏乐趣 Activity 是可以让玩家查看 他们的游戏进程 以及好友的游戏进程 从而为您提供更多分发的机会 对 Unity 开发者们来说 现在可以通过我们全新的 Unity plug-in 来完整 使用 GameKit 您可以学习如何在您的游戏中 最大化地 发挥 Game Center 功能 如何进行排行榜循环 如何在您的 Unity 游戏中 使用 GameKit 一切内容尽在与本次讲座 相关的视频中 我今天谈到了很多内容 我们相信今年的更新会为您的 游戏玩家带来更大的乐趣 感谢观看
-
-
4:11 - Authenticate the local player
// Authenticate the local player import GameKit class TitleScreenViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Authenticate the local player GKLocalPlayer.local.authenticateHandler = { viewController, error in if let viewController = viewController { // Present the view controller from Game Center. return } } } }
-
4:30 - Authenticate the local player
// Authenticate the local player using Apple.GameKit; public class MyGameManager : MonoBehaviour { private GKLocalPlayer _localPlayer; private async Task Start() { try { _localPlayer = await GKLocalPlayer.Authenticate(); } catch (Exception exception) { // Handle exception... } } }
-
5:25 - Show the Access Point
// Show the Access Point import GameKit class MenuScreenViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() GKAccessPoint.shared.location = .topLeading GKAccessPoint.shared.isActive = true } }
-
5:40 - Show the Access Point
// Show the Access Point GKAccessPoint.Shared.Location = GKAcessPoint.GKAccessPointLocation.TopLeading; GKAccessPoint.Shared.IsActive = true;
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。