【发布时间】:2015-06-06 16:22:59
【问题描述】:
我们正在为 iOS 和 Android 编写 Unity3D 应用程序,我们希望使用提供的社交 API 在 iOS(使用 GameCenter)和 Android(使用 Google Play 游戏服务)上检索和发布高分。
为了让应用程序保持简单、重量轻并避免交叉编译额外设置,我们不希望使用外部插件(除非第 4 点为真)。
我四处搜索文档和教程,发现THIS ONE。 该实现是在 C# 中完成的,但由于 Unity 指南还提供了一个 c# 版本,所以一切顺利。
但是我们无法完成这项工作,可能也是因为我们不太了解这个 API 的真正工作原理。
首先:Unity 指南声明“它[api] 为不同的社交后端提供统一的接口,例如 XBox Live 或 GameCenter”,但在实现中没有具体说明是哪个社交后端正在使用。团结怎么知道?根据平台切换?
第二:我在各种指南中了解到,用于显示排行榜的 GUI 是由主机平台直接提供的,从控制台日志中我得到以下成功消息:
Authenticated, checking achievements
Error: no achievements found
Successfully reported achievement progress
但是在编辑器中运行应用程序,在为 Windows 构建的版本或 BlueStacks 中使用的 apk 中,当我调用函数 Social.ShowLeaderboardUI(); 时,我得到相同的消息。这是
ShowLeaderboardUI not implemented
我可以从编辑器和 exe 中得到它,但 BlueStack 模拟 Android,如果它不提供 google play 服务,我会感到惊讶。但是,我还阅读了有关“沙盒模式”的信息,该模式应该在编辑器中运行,这导致了第三点:
我找不到设置此沙盒模式的方法,至少从该指南中找不到。
第四点:Unity 有一个 GameCenter 类,但没有用于 Google Play 游戏服务的类,所以:我可以用 iOS 做我想做的事,但我需要一个为 Android 实现 ISocial 接口的外部插件?
第五点:沙盒和部署模式下如何处理认证?
如您所见,我肯定在编码方面、概念方面或两者兼而有之。您能否提供有关如何实现我需要的分步程序?我不需要获取源代码,但如果有人能很好地解释我这个 API 是如何工作的,那就太好了。
提前致谢
【问题讨论】:
标签: android ios unity3d game-center google-play-games