0 android unity-game-engine google-play-games
我正在尝试集成 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!!";
}
}
Run Code Online (Sandbox Code Playgroud)
其中 SignIN() 和 SignOUT() 在按钮“登录”和“退出”中调用,但我无法登录。我已将 Google Play 开发者控制台中的资源复制粘贴到 Unity 中(窗口 - Google Play 服务 - 设置 - Android)将我的 apk 与开发者控制台上的 GooglePlayServices 链接起来。但是没用,我无法登录,请帮忙。
您可以在本地的 Unity 游戏上测试 GPS!
我看到您对该问题的评论已解决,说必须上传并发布 apk 才能使其正常工作。在某种程度上是正确的。但是,如果您每次想要测试 GPS 代码时都想上传 apk,那将是一件痛苦的事情。
这是对我有用的东西,可以在本地测试它,而无需上传到 Google Play Console。
GPS插件版本0.9.50
现在,在您的应用程序 --> 发布管理 --> 应用程序签名下,Google 会用自己的应用程序签名证书替换您的上传证书(您使用 Unity 设置的密钥)。这就是我们直接在设备上运行 apk 时遇到问题的地方。
当在 unity 上点击“构建并运行”并在发布设置中启用密钥库和密钥选项时,您的 apk 将由 unity 直接构建并复制到您的手机。现在,在运行游戏时,GPS 插件将尝试访问 Google Play 服务,但由于 SHA1 不匹配而失败。您的本地 apk 具有上传证书的 SHA1,并且 GPS 正在等待更新的 SHA1 证书(Google 的证书)。
出于测试目的,请将上传证书的 SHA-1 证书指纹从Google Play Console复制到您的Google Developer Console(找到您的应用程序并单击右侧的编辑按钮)
在统一构建设置中,确保使用正确的密码选择密钥库和密钥,然后点击“构建并运行”。请注意,如果您的手机上已经安装了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);
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10757 次 |
| 最近记录: |