playgameservices / play-games-plugin-for-unity

Google Play Games plugin for Unity
Other
3.43k stars 953 forks source link

Google Play Services doesn't work with unity 2021.3.14f1 #3220

Closed MuradAlvv closed 1 year ago

MuradAlvv commented 1 year ago

My unity version is 2021.3.14f1. I configured play services plugin for unity as written in its github.I also configured play services in google play console.My consent screen is in test mode, and my game also in internal testing.For sha1 in oAuth i used sha1 from google signing certificate.I also added me to testers.But when i open game authentication pop-up window doesn't appear. Here is my script which i added to empty gameObject on scene:

`public class GooglePlayGamesScript : MonoBehaviour { public static bool signed;

 void Awake()
 {
     //initialize playgamesplatform
     PlayGamesPlatform.Activate();
     logingoogleplaygames();
 }

 public void logingoogleplaygames()
 {
     PlayGamesPlatform.Instance.Authenticate(processauth);
 }

 public void showleaderboard()
 {
     if (signed)
     {
         Social.ShowLeaderboardUI();
     }
     else
     {
         Debug.Log("user not signed");
     }
 }

 private void processauth(SignInStatus status)
 {
     if (status == SignInStatus.Success)
     {
         signed = true;
         Debug.Log("sign in success");
     }
     else
     {
         signed = false;
         Debug.Log("sign in failed");
     }
 }

}`

Google Play Games Plugin for Unity version: 0.11.01

damozhang commented 1 year ago

Hi, I got the same issue. Can you share how you resolved the problem? Thanks

MuradAlvv commented 1 year ago

Try to debug on phone. In my case PlayGames classes were missing, i got class not found exception. to solve i: 1) reimported play games SDK 2)opened the file Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml

change line Packages/com.google.play.games/Editor/m2repository to Assets/GooglePlayGames/com.google.play.games/Editor/m2repository

and made External Dependecy Manager - android resolver - Force Resolve

Then i added custom proguard-user.txt with content: -keep class com.google.android.gms.games.PlayGames { ; } -keep class com.google.android.gms.games.leaderboard. { ; } -keep class com.google.android.gms.games.snapshot. { ; } -keep class com.google.android.gms.games.achievement. { ; } -keep class com.google.android.gms.games.event. { ; } -keep class com.google.android.gms.games.stats. { ; } -keep class com.google.android.gms.games. { ; } -keep class com.google.android.gms.common.api.ResultCallback { ; } -keep class com.google.android.gms.signin. { ; } -keep class com.google.android.gms.dynamic. { ; } -keep class com.google.android.gms.dynamite. { ; } -keep class com.google.android.gms.tasks. { ; } -keep class com.google.android.gms.security. { ; } -keep class com.google.android.gms.base. { ; } -keep class com.google.android.gms.actions. { ; } -keep class com.google.games.bridge. { ; } -keep class com.google.android.gms.common.ConnectionResult { ; } -keep class com.google.android.gms.common.GooglePlayServicesUtil { ; } -keep class com.google.android.gms.common.api. { ; } -keep class com.google.android.gms.common.data.DataBufferUtils { ; } -keep class com.google.android.gms.nearby. { ; }

After that it worked for me P.S in Oauth i used sha generated from my app

damozhang commented 1 year ago

Thanks