Unity Social API

Mas*_*ldo 2 android unity-game-engine ios game-center google-play-games

我们正在Unity3D中为iOS和Android编写应用程序,我们希望使用提供的Social API在iOS(使用GameCenter)和Android(使用Google Play游戏服务)上检索和发布highScores.

为了保持应用程序简单,重量轻,并避免交叉编译额外设置,我们不希望使用外部插件(除非第4点为真).

我搜索了文档和教程,我找到了这一个.实现已在C#中完成,但由于Unity指南也提供了ac#版本,所以它直接进行了.

然而,我们无法设法完成这项工作,可能也是因为我们不太清楚这个API是如何工作的.

首先:Unity指南声明"它[api]为不同的社交后端提供统一的接口,例如XBox Live或GameCenter",但是在实现中没有指定使用哪个社交后端.团结怎么知道呢?它根据平台切换?

第二:我在各种指南中都明白,为显示排行榜而提供的GUI是由主机平台直接提供的,从控制台日志中我得到以下成功消息:

Authenticated, checking achievements

Error: no achievements found

Successfully reported achievement progress
Run Code Online (Sandbox Code Playgroud)

但是在编辑器中运行应用程序,在用于Windows或BlueStacks中使用的apk的构建中,当我调用函数Social.ShowLeaderboardUI()时,我得到相同的消息; 是的

ShowLeaderboardUI not implemented
Run Code Online (Sandbox Code Playgroud)

我可以期待它来自编辑器和exe,但BlueStack模拟Android,如果它不提供谷歌播放服务我会感到惊讶.但是我也读到了一个"沙盒模式",它应该在编辑器中运行,这导致第三点:

我找不到设置此沙盒模式的方法,至少不能从该指南中设置.

第四点:Unity有一个GameCenter课程,但没有Google Play游戏服务的课程,所以:我可以用iOS做我想要的但是我需要一个外部插件来实现Android的ISocial界面?

第五点:如何在沙盒和部署模式下处理身份验证?

正如你所看到的,我肯定在编码方面,概念方面或两者都缺少某些东西.您能否提供有关如何实现我所需要的一步一步的程序?我不需要获得源代码片段,但如果有人能够很好地解释这个API是如何工作的,那就太棒了.

提前致谢

And*_*ndy 6

对于Android:

要将Google Play服务集成到Unity中,您需要使用插件.您可以在此处找到Google支持的插件.您可以在此找到有关排行榜如何运作的信息.基本上它是如何工作的:

  1. 您可以在Google Play开发者控制台中创建排行榜
  2. 您将分数提交给创建的排行榜(当您确定适当的时间时)
  3. Google Play服务会发回回复,告知其是否为高分.

我建议你看看Cubic Pilot_4.6样本,它演示了如何实现排行榜.此外,由于模拟器在处理Google Play服务和帐户登录时可能遇到问题,因此您应该在物理设备上进行此测试.

在身份验证方面,Google Play服务会为您处理大部分内容.您可以在samples(Social.localUser.Authenticate)中看到更多内容.

  • 我可以确认,即使在 BlueStacks 上,GooglePlay 插件也能像魅力一样工作。只是一个注意事项:项目页面上的注释并没有真正使它工作,我按照本教程:https://www.youtube.com/watch?v=FuOJLPezLU8 正确设置一切。还有一点要注意:视频中的开发人员忘记提到这行代码: PlayGamesPlatform.Activate() 这是需要调用的第一个方法,甚至在 Authenticate() 之前 (2认同)