Unity - Google Play 游戏服务无法正常工作?

Unity - Google Play Games Services not working?

好的,所以我之前在很多游戏中实现了 GPGS 并成功,但现在它似乎不起作用。我加载了游戏,但它什么也做不了,没有登录对话框或任何东西。这是我用来登录的代码:

using UnityEngine;
using System.Collections;
using UnityEngine.SocialPlatforms;
using GooglePlayGames;
using GooglePlayGames.BasicApi;

public class GpgsStart : MonoBehaviour {


void Start () {
        PlayGamesPlatform.Activate ();
        Social.localUser.Authenticate((bool success) => {
            if(!success)
            {
                PlayerPrefs.SetString("SignIn", "false");
                Debug.Log("Couldn't Sign In");
            }
        });
    }

    // Update is called once per frame
    void Update () {

    }
}

我真的不明白为什么它不起作用,我想知道我是否犯了一个愚蠢的错误或错过了什么。任何人都知道是什么导致了我的问题?

非常感谢任何帮助,谢谢。

这是 logcat 输出:

I/Unity   ( 9861): InvalidOperationException: There was an error creating a Game
Services object. Check for log errors from GamesNativeSDK
I/Unity   ( 9861):   at GooglePlayGames.Native.PInvoke.GameServicesBuilder.Build
 (GooglePlayGames.Native.PInvoke.PlatformConfiguration configRef) [0x00000] in <
filename unknown>:0
I/Unity   ( 9861):   at GooglePlayGames.Native.NativeClient.InitializeGameServic
es () [0x00000] in <filename unknown>:0
I/Unity   ( 9861):   at GooglePlayGames.Native.NativeClient.Authenticate (System
.Action`1 callback, Boolean silent) [0x00000] in <filename unknown>:0
I/Unity   ( 9861):   at GooglePlayGames.PlayGamesPlatform.Authenticate (System.A
ction`1 callback, Boolean silent) [0x00000] in <filename unknown>:0
I/Unity   ( 9861):   at GooglePlayGames.PlayGamesPlatform.Authenticate (System.A
ction`1 callback) [0x00000] in <filename unknown>:0
I/Unity   ( 9861):   at GooglePlayGames.PlayGamesLocalUser.Authenticate (System.
Action`1 callback) [0x00000] in <filename unknown>:0
I/Unity   ( 9861):   at GpgsStart.Start () [0x00000] in <filename unknown>:0
I/Unity   ( 9861):
I/Unity   ( 9861): (Filename:  Line: -1)
I/Unity   ( 9861):
V/WindowManager(  451): Window{422852e8 u0 Keyguard}mOrientationRequetedFromKeyg
uard=false

这很可能是由 google 播放服务客户端库的旧版本引起的。如果缺少 java classes,游戏 SDK 将无法正确初始化。您可以通过在日志的前面查找 class not found 错误来确认这一点。

要解决此问题,请使用 SDK 管理器将播放服务 SDK 更新到最新版本。在 Unity 中,这是 Window > Google Play Games > 下载 > Google Play Games SDK (Android)...

然后 运行 Play Games Setup 再次,Window > Google Play Games > Setup > Android Setup...这会将更新客户端库复制到你的 Unity 项目。

这通常是因为您的项目中缺少 .aar 文件。 对于玩游戏服务,需要一些 .aar 文件。 将此 .aar 文件与您的文件进行交叉检查

  1. play-services-auth-9.2.1
  2. play-services-auth-base-9.2.1
  3. play-services-base-9.2.1
  4. play-services-basement-9.2.1
  5. play-services-drive-9.2.1
  6. play-services-games-9.2.1
  7. play-services-nearby-9.2.1
  8. play-services-tasks-9.2.1
  9. 支持-v4-23.4.0

这个 .aar 文件的版本可能不同,但这对我有用