Google Play 登录 Unity

2024-01-17

我正在尝试集成 Google play 服务,以便我可以在游戏中获得成就和排行榜。我尝试了以下代码 -

public Text myText;

void Awake()
{
    PlayGamesPlatform.Activate();
}

public void SignIN()
{
    Social.localUser.Authenticate((bool Success) => 
    {
        if (Success)
        {
            myText.text = "Yayy!!";
        }
        else
        {
            myText.text = "Not AGAIN!!";
        }
    });
}

public void SignOUT()
{
    PlayGamesPlatform.Instance.SignOut();
    if (Social.localUser.authenticated == false)
    {
        myText.text = "SIGNED OUT!!";
    }
}

其中 SignIN() 和 SignOUT() 在按钮“登录”和“退出”中调用,但我无法登录。我已将 Google Play 开发者控制台中的资源复制粘贴到 Unity 中(窗口 - Google Play 服务 - 设置 - Android)将我的 apk 与开发者控制台上的 GooglePlayServices 链接起来。但是没用,我无法登录,请帮忙。


您可以在本地的 Unity 游戏上测试 GPS!

我看到你对这个问题的评论已解决,说必须上传并发布 apk 才能使其正常工作。在某种程度上是正确的。但是,如果您每次想要测试 GPS 代码时都想上传 apk,那将是一件痛苦的事情。

这是对我有用的东西,可以在本地测试它,而无需上传到 Google Play Console。

GPS插件版本0.9.50

  • 请务必按照以下说明进行操作GPS插件的github https://github.com/playgameservices/play-games-plugin-for-unity
  • 安装插件之前在系统上正确设置JAVA路径
  • 确保您遵循 Unity 的应用程序签名流程(密钥库、密钥)
  • 为您的游戏和链接的应用程序等设置 Google Play 控制台
  • 上传您的 apk 进行内部测试或 alpha/beta 测试

现在,在您的应用程序 --> 发布管理 --> 应用程序签名下,Google 会用自己的应用程序签名证书替换您的上传证书(您使用 Unity 设置的密钥)。这就是我们直接在设备上运行 apk 时遇到问题的地方。

当在 Unity 上点击“构建并运行”并在发布设置中启用密钥库和密钥选项时,您的 apk 将由 Unity 直接构建并复制到您的手机。现在,在运行游戏时,GPS 插件将尝试访问 Google Play 服务,但由于 SHA1 不匹配而失败。您的本地 apk 具有上传证书的 SHA1,并且 GPS 正在等待更新的 SHA1 证书(Google 的证书)。

出于测试目的,请复制上传证书的 SHA-1 证书指纹谷歌游戏控制台 https://play.google.com/apps/publish给你的谷歌开发者控制台 https://console.developers.google.com(找到您的应用程序并单击右侧的编辑按钮)

Google Play Console Google Play Console

Google Developer Console enter image description here

在统一构建设置中,确保使用正确的密码选择密钥库和密钥,然后点击“构建并运行”。请注意,如果您的手机上已经安装了Play商店版本或未烧录版本,请先将其卸载。

现在,每次更新代码时,您无需在 Google Play Console 上上传和发布来测试 GPS 插件。使用本地上传证书,您可以直接在手机上进行测试,效果与正常测试一样。

重要的:测试后,您需要将 SHA1 恢复为 Google 的 SHA1,以使您的 GPS 在发布版本(Playstore 版本)上正常工作。除非您将上传密钥 SHA1 保留在 Google 开发者控制台下,否则游戏的 Playstore 版本将无法访问 GPS。

GPS服务代码(我也启用了云服务),

void InitGooglePlatform()
{
    PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().EnableSavedGames().Build();
    PlayGamesPlatform.InitializeInstance(config);
    PlayGamesPlatform.DebugLogEnabled = true;
    PlayGamesPlatform.Activate();
    if(!bGoogleCheck)       // internal flag to do this only once if user is offline
        GoogleSignin();
    bGoogleCheck = true;    // Mark it done until the game is restarted again
}
public void GoogleSignin()
{
    if (!Social.localUser.authenticated)
    {
        Social.localUser.Authenticate(success => {
            if(success)
            {
                OpenSave(false);
            }
        });
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Play 登录 Unity 的相关文章

  • Android-ListView-performItemClick

    当我尝试使用时遇到一些困难执行项目单击ListView 的功能 我想要做的就是以编程方式在列表的第一项中执行单击 我怎样才能做到这一点 我在文档中查找了该函数 但我并不真正理解它的参数 我尝试过类似的事情 myListView perfor
  • 在运行时绘制HSV圆

    我想在我的应用程序中有一个颜色选择器 如下所示 我尝试过逐像素填充位图 尝试使用画布drawArc 方法 这两种方式都不利于性能 有任何想法吗 它可能不完全是它应该的样子 与颜色 饱和度等有关 但是这是一些东西 http i1272 pho
  • Android 测试 java.lang.NoClassDefFoundError 由于 Fest-Android 出现错误

    我目前正在我的项目中实现 Android 版 Fest 但我似乎遇到了依赖问题 如果我在不包含 Fest 库的情况下运行测试 测试将正常运行 一旦我添加了 Fest 库 测试就不再运行 相反 会抛出异常 我的项目使用以下依赖项 compil
  • XAMARIN - 添加来自 youtube 的视频

    我搜索如何从 youtube 添加视频的信息 例如 我想从一些 YouTube 链接添加视频 我认为它应该在网络视图中 但我需要一些详细信息 因为我找不到有关我的问题的任何信息 您可以使用 webview 播放 youtube 视频 str
  • Android 和 iOS 中的应用程序文件大小差异

    通过使用两个应用程序分发服务 Android 市场和 Apple 应用程序商店 我发现了一个谜团 Apple 应用程序的文件大小通常大于 Android 应用程序 我似乎找不到任何对这些差异的解释 而且这似乎是一个未触及的主题 我尝试过分配
  • Firebase 云消息传递 - 如何验证令牌?

    我正在使用 Firebase Cloud Messaging FCM 并且每次在客户设备上生成新令牌时 都会根据下面的缩写代码 我将此新令牌发送到我的服务器数据库 云 并将其保存在其中 以便能够发送未来推送通知使用 CFM API 从服务器
  • 按钮上方带有文本的单选按钮

    我是 Android 新手 我需要在我的活动中添加单选按钮 但我需要将文本放在项目符号按钮的顶部 请提供任何帮助 我发现了以下内容 尽管我不明白 drawable in 选择器和 style Tab 样式是什么 顶部带有文本的单选按钮 ht
  • 如何修复运行 Android 模拟器时出现 GPU Driver Issue 错误

    我的 Android 模拟器几周前运行良好 但现在出现错误 当我运行代码时 GPU 驱动程序问题错误对话框与模拟器一起弹出 当我单击 确定 时 Android 模拟器不会按预期运行应用程序 错误如下 Your GPU driver info
  • 在应用程序之间共享自定义帐户验证器

    我有一个为使用自定义 AccountAuthenticator 的客户端构建的应用程序 它工作得非常好 并且满足了客户的需求 但是 这只是将使用相同身份验证管理器的应用程序集合中的第一个应用程序 这就是我不确定如何继续的地方 我无法知道任何
  • 如何将您的终端与 Android 模拟器连接

    我尝试导航到 android 工具文件夹并输入 adb shell 命令 但它似乎不起作用 我的终端似乎只能识别命令的 adb 部分 并给我一条错误消息 我究竟做错了什么 通过键入列出所有连接的设备adb devices 检查是否列出了任何
  • 具有多个字符串的列表视图

    我正在尝试创建一个包含多个字符串的列表视图 现在我有一个可以实现的功能 while i lt 10 GETS DATA FROM WEBPAGE ETC a DATAFROMWEBPAGE1 b DATAFROMWEBPAGE2 c DAT
  • 无法在 Android 中使用自定义数组适配器进行搜索?

    我无法从以下位置搜索listview 我尝试了各种方法 但它对我不起作用 没有错误 我有其他方式进行搜索 但我想让这种方式成为可能 这是代码 public class MainActivity extends Activity implem
  • 为什么 Android 上的免安装应用有两种设置?

    我使用的是运行 Android 11 的 Pixel 3 我发现有 2 种不同的设置可以控制免安装应用的某些方面 设置 应用程序和通知 默认应用程序 打开链接 即时应用程序 即使未安装 也打开应用程序中的链接 切换默认为开 Google P
  • 如何更改蜂窝中儿童偏好屏幕的背景颜色

    过去几天我一直在寻找解决方案 但找不到 我需要更改右窗格的背景颜色 我知道如何更改左父首选项的颜色 我在清单文件中创建了一个新主题
  • Android Studio错误的含义:未注释的参数覆盖@NonNull参数

    我正在尝试 Android Studio 创建新项目并添加默认值后onSaveInstanceState方法创建 MyActivity 类 当我尝试将代码提交到 Git 时 我收到一个我不明白的奇怪错误 代码是这样的 我得到的错误是这样的
  • 使用磁场计算旋转矩阵

    在获取旋转矩阵值时它包含public static boolean getRotationMatrix float R float I float gravity float geomagnetic 这里我如何计算float gravity
  • 如何在没有 OpenCv Manager 的情况下运行 OpenCV 代码

    我正在使用 OpenCV4Android 版本 2 4 10 并在 Samsung Galayx GT I9300 上测试我的代码 我遇到的问题是 我必须从 Play 商店下载 Opencv Manager 以便我的 opencv 代码运行
  • 尝试重新打开已关闭的对象:sqlitequery

    所以本质上我查询数据库两次 我不明白这个错误真正来自哪里 因为我没有在任何地方关闭数据库 返回错误的代码是这样运行的 我查了一下 刚刚看到一个像我这样的案例 BeaconHandler pullAllDB new BeaconHandler
  • IBM Watson 对话服务错误:无法从“方法组”转换为“conversation.onMessage”

    我正在尝试运行 IBM Watson会话服务团结和下面是代码片段 https github com watson developer cloud unity sdk conversation private Conversation m C
  • Android 使用不同的签名密钥更新市场应用程序

    开发人员使用他的个人密钥库签署了应用程序 但它应该是公司的密钥库 现在是否可以使用公司的密钥库更新市场中的应用程序 并且仍然可以简化对用户的更新 这有什么后果吗 不可以 您必须将该应用程序作为新应用程序发布到市场上 这次是用公司的key签名

随机推荐