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也得添加哦。

相关推荐
dangoxiba8 小时前
【Unity学习心得】如何使用Unity制作“饥荒”风格的俯视角2.5D游戏
游戏·unity·c#·游戏引擎
cyr___11 小时前
Unity教程(十六)敌人攻击状态的实现
学习·游戏·unity·游戏引擎
优梦创客19 小时前
《黑神话悟空》开发框架与战斗系统解析
unity·游戏开发·黑神话悟空·战斗系统·解包
仙魁XAN1 天前
Unity 设计模式 之 创造型模式-【工厂方法模式】【抽象工厂模式】
unity·设计模式·工厂方法模式·抽象工厂模式
我要吐泡泡了哦1 天前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎
躺下睡觉~1 天前
Unity-Transform类-父子关系
java·unity·游戏引擎
躺下睡觉~1 天前
Unity-Transform类-缩放和看向
unity·游戏引擎
君莫愁。2 天前
【Unity】检测鼠标点击位置是否有2D对象
unity·c#·游戏引擎
咩咩觉主2 天前
Unity实战案例全解析:PVZ 植物卡片状态分析
unity·c#·游戏引擎
蓝裕安2 天前
伪工厂模式制造敌人
开发语言·unity·游戏引擎