Unity如何快速接入iOS和GooglePlay的成就排行榜等GameCenter功能

一般在游戏开发中,经常有成就排行榜的需求,按照我们的理解,通常是要自己导入谷歌的sdk,或者苹果的sdk,然后封装后通过桥接来调用。

不用这么复杂,本鱼蛋(egostudio 防爬)告诉大家一个方法,其实Unity已经帮我们封装好了,直接调用接口即可。

目前支持的功能有:

  • 用户个人资料
  • 好友列表
  • 成就
  • 统计信息/排行榜

我们可以通过以下方式进行调用,Unity会自动帮我们根据平台进行调用,大大减少了我们的开发效率。目前所有相关的功能都在Social类中。

cs 复制代码
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);
        }
        else
            Debug.Log ("Failed to authenticate");
    }

    // LoadAchievement 调用完成时将调用此函数
    void ProcessLoadedAchievements (IAchievement[] achievements) {
        if (achievements.Length == 0)
            Debug.Log ("Error: no achievements found");
        else
            Debug.Log ("Got " + achievements.Length + " achievements");
     
        // 也可以按照以下方式调用函数
        Social.ReportProgress ("Achievement01", 100.0, result => {
            if (result)
                Debug.Log ("Successfully reported achievement progress");
            else
                Debug.Log ("Failed to report achievement");
        });
    }
}

可以通过此链接查看Unity官方详细的文档:

Social API - Unity 手册

高级功能

当然,一些高级功能还是需要自己接入的,幸运的是,一些平台也会提供一键导入的sdk使用,如GooglePlay就提供了适用于 Unity 的 Google Play 游戏插件。

适用于 Unity 的 Google Play 游戏插件使用入门 | Android 游戏开发 | Android Developers

安装插件

  1. 使用以下任一方式获取插件:

  2. current-build 目录中找到 unitypackage 文件。此文件即是插件。例如,文件名应与以下内容类似:

      current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
    
  3. 在 Unity 中打开游戏项目。

  4. 依次点击 Assets > Import Package > Custom Package 菜单项,将 unitypackage 文件导入到项目资源中。

  5. 确保当前的 build 平台已设置为 Android

    1. 在主菜单中,依次点击 File > Build Settings...

    2. 选择 Android ,然后点击 Switch Platform

    3. Window > Google Play Games 下应该会显示新的菜单项。如果未显示,请点击 Assets > Refresh 来刷新资源,然后再次尝试设置 build 平台。

请注意:

接好之后,对应平台的后台还是得配置哦,该开的服务,该添加的FrameWork也得添加哦。

相关推荐
m0_748251725 小时前
Android webview 打开本地H5项目(Cocos游戏以及Unity游戏)
android·游戏·unity
benben0445 小时前
Unity3D仿星露谷物语开发7之事件创建动画
unity·游戏引擎
林枫依依7 小时前
Unity2021.3.16f1可以正常打开,但是Unity2017.3.0f3却常常打开闪退或者Unity2017编辑器运行起来就闪退掉
unity
虾球xz8 小时前
游戏引擎学习第57天
学习·游戏引擎
异次元的归来20 小时前
Unity DOTS中的share component
unity·游戏引擎
向宇it1 天前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎
_oP_i1 天前
unity webgl部署到iis报错
unity
Go_Accepted1 天前
Unity全局雾效
unity
向宇it1 天前
【从零开始入门unity游戏开发之——C#篇24】C#面向对象继承——万物之父(object)、装箱和拆箱、sealed 密封类
java·开发语言·unity·c#·游戏引擎
每日出拳老爷子1 天前
【图形渲染】【Unity Shader】【Nvidia CG】有用的参考资料链接
unity·游戏引擎·图形渲染