一般在游戏开发中,经常有成就排行榜的需求,按照我们的理解,通常是要自己导入谷歌的sdk,或者苹果的sdk,然后封装后通过桥接来调用。
不用这么复杂,本鱼蛋(egostudio 防爬)告诉大家一个方法,其实Unity已经帮我们封装好了,直接调用接口即可。
目前支持的功能有:
- 用户个人资料
- 好友列表
- 成就
- 统计信息/排行榜
我们可以通过以下方式进行调用,Unity会自动帮我们根据平台进行调用,大大减少了我们的开发效率。目前所有相关的功能都在Social类中。
using UnityEngine;
using UnityEngine.SocialPlatforms;public class SocialExample : MonoBehaviour {void Start () {// 验证并注册 ProcessAuthentication 回调// 需要进行此调用才能继续进行 Social API 中的其他调用Social.localUser.Authenticate (ProcessAuthentication);}// 当验证完成时将调用此函数// 请注意,如果操作成功,Social.localUser 将包含来自服务器的数据。void ProcessAuthentication (bool success) {if (success) {Debug.Log ("Authenticated, checking achievements");// 请求加载的成就,并注册回调来处理它们Social.LoadAchievements (ProcessLoadedAchievements);}elseDebug.Log ("Failed to authenticate");}// LoadAchievement 调用完成时将调用此函数void ProcessLoadedAchievements (IAchievement[] achievements) {if (achievements.Length == 0)Debug.Log ("Error: no achievements found");elseDebug.Log ("Got " + achievements.Length + " achievements");// 也可以按照以下方式调用函数Social.ReportProgress ("Achievement01", 100.0, result => {if (result)Debug.Log ("Successfully reported achievement progress");elseDebug.Log ("Failed to report achievement");});}
}
可以通过此链接查看Unity官方详细的文档:
Social API - Unity 手册
高级功能
当然,一些高级功能还是需要自己接入的,幸运的是,一些平台也会提供一键导入的sdk使用,如GooglePlay就提供了适用于 Unity 的 Google Play 游戏插件。
适用于 Unity 的 Google Play 游戏插件使用入门 | Android 游戏开发 | Android Developers
安装插件
-
使用以下任一方式获取插件:
-
将 GitHub 代码库克隆到文件系统中。
-
下载 ZIP 文件形式的 GitHub 代码库,然后进行解压缩。
-
-
在
current-build
目录中找到unitypackage
文件。此文件即是插件。例如,文件名应与以下内容类似:current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
-
在 Unity 中打开游戏项目。
-
依次点击 Assets > Import Package > Custom Package 菜单项,将
unitypackage
文件导入到项目资源中。 -
确保当前的 build 平台已设置为 Android。
-
在主菜单中,依次点击 File > Build Settings...。
-
选择 Android,然后点击 Switch Platform。
-
Window > Google Play Games 下应该会显示新的菜单项。如果未显示,请点击 Assets > Refresh 来刷新资源,然后再次尝试设置 build 平台。
-
请注意:
接好之后,对应平台的后台还是得配置哦,该开的服务,该添加的FrameWork也得添加哦。