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

44 篇文章 0 订阅
17 篇文章 1 订阅
Unity已经内置了SocialAPI,可以直接调用来实现成就排行榜功能,无需手动导入谷歌或苹果的SDK。这个API支持用户资料、好友列表和成就统计。通过示例代码展示了如何验证用户、加载和报告成就。对于更高级的功能,可以考虑使用平台提供的SDK,如GooglePlay游戏插件。
摘要由CSDN通过智能技术生成

一般在游戏开发中,经常有成就排行榜的需求,按照我们的理解,通常是要自己导入谷歌的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);
        }
        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也得添加哦。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼蛋-Felix

如果对你有用,可以请我喝杯可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值