Closed ozdemir08 closed 4 years ago
Testing it now. Thanks man.
I will test! Thanks!
I tried to migrate to 0.10.00, I had a problem with the GetAnotherServerAuthCode function. The code don't includes the scopes added in the Builder, the first auth code includes the scopes but the second one only includes the default one
Then I tried to install the 0.10.01 but that version uses AndroidX libraries which broke all the plugins in our project :(
@dvillaseca it looks like for a while it could be an issue as not all libraries have migrated to AndroidX yet. Can you share which libraries you're using, so that I can look into it? Also, you're right about GetAnotherServerAuthCode function. It's been fixed in the old plugin here, but not in this one. I'll fix it soon.
@cyraid , @Icaro-Lima if you tested the new plugin, can you share which APIs you have tested and whether you had any issues or not?
@ozdemir08 Sure.
Issues: So far it gives some verbose "GPGSUpgrader start" and "GPGSUpgrader done" info messages on every run, would be nice to turn those off. Also still has the "OnEnable" bug (AssetDatabase.Refresh()). Also the ClearPreviewCache() bug (NRE) when you have something selected when you run and it has a preview (if you have nothing selected it doesn't pop up).
Compliments: Thank you for fixing some of the issues with this. It overall seems a lot more stable, and I love that it does the android resolution on build. I don't have to worry about a 'I made a backup' dialog on every start (THANK YOU for that).
Apis: Been using the authenticate (of course), and leadership boards. No issues so far. One thing for future people to look out for, SHA1 MATTERS! Internal app testing has a different SHA1 (update your google cloud console). Your SHA1 must match your key when signing for the apk. If you have app bundle, the SHA1 in cloud console must match the one given for the app signing. Those gotchas aside, I've been a lot less stressed working with this version.
Overall, feels a lot better so far. Thanks guys, and good job. Got a new version by chance? ^_^
@ozdemir08 Oh was gonna mention.. If building an apk on the cloud using Unity Cloud build, it was trying to pop up a window and it failed.. Can you make it work for headless mode? (no popups).
Keep up the good work!
Edit: And sometimes a lot of 'possible mistaken empty statement' warnings when scripts are compiling after a change (and even in build log).
Bug: scoreData.PlayerScore.userID == "me"
PlayGamesPlatform.Instance.LoadScores(leaderboardId, LeaderboardStart.TopScores, 25, LeaderboardCollection.Public, leaderboardTimeSpan, scoreData => { });
PlayGamesPlatform.Instance.LoadMoreScores does not work
08-21 16:32:52.564 6447 6478 E Unity : NullReferenceException: Object reference not set to an instance of an object. 08-21 16:32:52.564 6447 6478 E Unity : at UnityEngine.GlobalJavaObjectRef.op_Implicit (UnityEngine.GlobalJavaObjectRef obj) [0x00000] in <00000000000000000000000000000000>:0 08-21 16:32:52.564 6447 6478 E Unity : at UnityEngine.AndroidJavaObject._Call[ReturnType] (System.String methodName, System.Object[] args) [0x00000] in <00000000000000000000000000000000>:0 08-21 16:32:52.564 6447 6478 E Unity : at UnityEngine._AndroidJNIHelper.GetSignature (System.Object obj) [0x00000] in <00000000000000000000000000000000>:0 08-21 16:32:52.564 6447 6478 E Unity : at UnityEngine._AndroidJNIHelper.GetSignature[ReturnType] (System.Object[] args) [0x00000] in <00000000000000000000000000000000>:0 08-21 16:32:52.564 6447 6478 E Unity : at UnityEngine._AndroidJNIHelper.GetMethodID[ReturnType] (System.IntPtr jclass, System.String methodName, System.Object[] args, System.Boolean isStatic) [0 x00000] in <00000000000000000000000000000000>:0 08-21 16:32:52.564 6447 6478 E Unity : at UnityEngine.AndroidJavaObject._Call[ReturnType] (System.String methodName, System.Object[] args) [0x00000] in <00000000000000000000000000000000>:0 08-21 16:32:52.564 6447 6478 E Unity : at GooglePlayGames.Android.AndroidClient
There seems to be an issue with version 0.10.01 Whenever i sign out from achievements UI or leaderboard UI, Social.localUser.authenticated always returns true.
So far it gives some verbose "GPGSUpgrader start" and "GPGSUpgrader done" info messages on every run, would be nice to turn those off. Also still has the "OnEnable" bug (AssetDatabase.Refresh()). Also the ClearPreviewCache() bug (NRE) when you have something selected when you run and it has a preview (if you have nothing selected it doesn't pop up).
Can you make it work for headless mode? (no popups).
@cyraid I'm taking note of them. But as we have still some bugs to address, they won't be our top priorities right now.
Bug: scoreData.PlayerScore.userID == "me"
@frolky can you give more detail about this?
PlayGamesPlatform.Instance.LoadMoreScores does not work
@frolky I've fixed it, the fixed code will be in v10.02.
Social.localUser.authenticated always returns true.
@makmatics I've fixed this one too. We'll release v10.02 next week.
Thanks all of you for the comments!
@frolky can you give more detail about this?
What exactly? I provided the code. In the previous version of the plugin, this property returned the id of the player, and now "me"
PlayGamesPlatform.Instance.LoadScores(leaderboardId, LeaderboardStart.TopScores, 25, LeaderboardCollection.Public, leaderboardTimeSpan, scoreData => { Debug.Log(scoreData.PlayerScore.userID); // output "me" Debug.Log(Social.localUser.id); // output "g123456..." });
Another quick idea would be to make it a custom package as well, so we can just add it to package manager and receive updates whenever you change the manifest.
Can you please share the exact date for the next release. We are on deadline and just waiting for stable version.
@makmatics this friday.
Testing it...
Hi, There seems to be another issue with version v10.01. When i save the game the SavedGameWritten callback is not triggered.
((PlayGamesPlatform) Social.Active).SavedGame.CommitUpdate(game, updatedMetadata, data, SavedGameWritten);
Does this plugin use API version 3?
Hi, There seems to be another issue with version v10.01. When i save the game the SavedGameWritten callback is not triggered.
((PlayGamesPlatform) Social.Active).SavedGame.CommitUpdate(game, updatedMetadata, data, SavedGameWritten);
I have tried it a couple of times and each time I was able to trigger that callback. Can you check if you're getting any logs from this code block?
I have updated the plugin to v10.02 and it is causing all sorts of crashes. 1) When i open Leaderboard UI or Achievements UI and press back i get the following Error.
E/Unity: NullReferenceException: Object reference not set to an instance of an object.
at GooglePlayGames.Android.AndroidClient+<>c__DisplayClass48_0.<GetUiSignOutCallbackOnGameThread>b__0 (GooglePlayGames.BasicApi.UIStatus status) [0x00000] in <00000000000000000000000000000000>:0
at GooglePlayGames.OurUtils.PlayGamesHelperObject.Update () [0x00000] in <00000000000000000000000000000000>:0
and when i press Sign Out from either UI the app crashes without any log message.
2) When i save the game i get the following and instantly the game freezes but the sound that was playing in my game was still playing.
2019-08-31 01:40:45.693 32110-32235/com.[PACKAGE] I/Unity: Saving progress to the cloud...
PlayGamesManager:SaveToCloud(String)
SettingPanelManager:SaveGameToGPGpressed()
EventDelegate:Execute()
EventDelegate:Execute(List`1)
UIButton:OnClick()
UICamera:Notify(GameObject, String, Object)
UICamera:ProcessRelease(Boolean, Single)
UICamera:ProcessTouch(Boolean, Boolean)
UICamera:ProcessTouches()
UICamera:ProcessEvents()
(Filename: ./Runtime/Export/Debug.bindings.h Line: 45)
2019-08-31 01:40:48.455 32110-32235/com.[PACKAGE] I/Unity: Saving to GooglePlayGames.Android.AndroidSnapshotMetadata
PlayGamesManager:SavedGameOpened(SavedGameRequestStatus, ISavedGameMetadata)
GooglePlayGames.OurUtils.PlayGamesHelperObject:Update()
(Filename: ./Runtime/Export/Debug.bindings.h Line: 45)
2019-08-31 01:40:49.697 32110-32110/com.[PACKAGE] I/Unity: commitAndClose.succeed
GooglePlayGames.Android.<>c__DisplayClass8_0:<CommitUpdate>b__0(AndroidJavaObject)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
UnityEngine.AndroidJavaProxy:Invoke(String, Object[])
UnityEngine._AndroidJNIHelper:InvokeJavaProxyMethod(AndroidJavaProxy, IntPtr, IntPtr)
(Filename: ./Runtime/Export/Debug.bindings.h Line: 45)
JNI ERROR (app bug): accessed deleted Global 0x3876
java_vm_ext.cc:542] JNI DETECTED ERROR IN APPLICATION: use of deleted global reference 0x3876
java_vm_ext.cc:542] from boolean com.unity3d.player.UnityPlayer.nativeRender()
java_vm_ext.cc:542] "UnityMain" prio=5 tid=17 Runnable
java_vm_ext.cc:542] | group="main" sCount=0 dsCount=0 flags=0 obj=0x18700e70 self=0x7409882c00
java_vm_ext.cc:542] | sysTid=32235 nice=0 cgrp=default sched=0/0 handle=0x73facb94f0
java_vm_ext.cc:542] | state=R schedstat=( 101619368242 108057484399 2155958 ) utm=7103 stm=3058 core=7 HZ=100
java_vm_ext.cc:542] | stack=0x73fabb6000-0x73fabb8000 stackSize=1041KB
java_vm_ext.cc:542] | held mutexes= "mutator lock"(shared held)
and there is tons of log from native IL2CPP that I haven't pasted here.
When i open Leaderboard UI or Achievements UI and press back i get the following Error.
I made a bug in this commit, while fixing sign out from ui. I'm fixing it today and releasing v10.03 with the fix. The app I'm using for test purposes, Smoketest did not crash, so I couldn't catch the error. Thanks for reporting this. If you'd like to try it out before releasing v10.03, check out this commit.
When i save the game i get the following and instantly the game freezes but the sound that was playing in my game was still playing.
Does this one happen only in v10.02 or does it also happen in v10.01? I am looking into it, but can not reproduce it right now. Edit: This one is about this comment, I guess. Then the question is, was it working fine in v9.64? Also, do you see any changes from v10.01 to v10.02?
Edit 2: v10.03
totally forgot about this comment. I didn't bother testing it any further because v10.02 was on it's way so i gave up on v10.01
First let me clear a few confusions here. There are two revisions of v10.01. First one was this July 8,2019 which was replaced by this second revision on Aug 15,2019.
Second revision of v10.01 was causing issues described here but when v10.02 came out it caused all of these issues so i gave up on v10.02 as well and reverted back to first revision of v10.01 which i luckily had a backup copy in my hard drive. first revision of v10.01 works fine without any other issues except for UI sign out.
Hi, I am using 10.03 above. I think you have an issue with getting the application ID through to Google. When I call PlayGamesPlatform.Activate();
without initializing, so it used the default one, a center dialog while screen dimmed appear as usual and I was asked to choose an account. However, after that there would be no drop down confirmation appearing, and in the adb logcat
I would always get this :
2019/09/03 19:30:19.482 3034 3586 Warn PlayerAgent: {"code":400,"errors":[{"reason":"invalid","domain":"global","message":"Invalid applicationId with value . Reason: No application ids specified."}]}
2019/09/03 19:30:19.486 9055 9055 Warn SignInActivity: onSignInFailed()...
2019/09/03 19:30:19.486 9055 9055 Warn SignInActivity: Sign in failed during 8
2019/09/03 19:30:19.486 9055 9055 Warn SignInActivity: ==> Returning non-OK result: 10002
with value .
kind of hinting that it may be parsed as empty string or something. I pressed setup already and my APP ID is already here. Is it being used at all at runtime? (also you forgot to change .02 to .03)
The build method is Android App Bundle, and this test is from Internal Testing, not from direct install from AAB, so the signing key should be correct, like the one real player use.
Mine no longer seems to fully login either. Used to say "welcome", now just pops up that box with connecting, then disappears and then ceases to exist.
Note: I forgot to mention I'm using 10.1 still.. So is there something that went down server side? (I didn't make any changes, the app just doesn't log in anymore)
Mine no longer seems to fully login either. Used to say "welcome", now just pops up that box with connecting, then disappears and then ceases to exist.
@cyraid Are you getting the same logs that @5argon got? If not, can you share your logs?
@ozdemir08 I'm not working with the project for awhile, but if I recall when looking in the logs, it appeared as if everything signed in okay. No errors, nothing.. Which was really puzzling. But like I said it was working at first, and I didn't change anything or upload any new version, so I'm guessing the problem has to be remotely? (only a guess)
Hi We are using v10.01 in our production release and this is the crash we are getting from users.
java.lang.Error: FATAL EXCEPTION [main] Unity version : 2018.3.5f1 Device model : OnePlus ONEPLUS A3003 Device fingerprint: OnePlus/OnePlus3/OnePlus3T:9/PKQ1.181203.001/1907311932:user/release-keys Caused by at com.google.android.gms.common.api.internal.zza.addCallback (Unknown Source:26) at com.google.android.gms.tasks.zzu$zza.<init> (Unknown Source:9) at com.google.android.gms.tasks.zzu$zza.zza (Unknown Source:4) at com.google.android.gms.tasks.zzu.addOnSuccessListener (Unknown Source:36) at com.google.games.bridge.SignInRequest.signIn (SignInRequest.java:143) at com.google.games.bridge.SignInRequest.process (SignInRequest.java:78) at com.google.games.bridge.HelperFragment.processRequest (HelperFragment.java:238) at com.google.games.bridge.HelperFragment.onResume (HelperFragment.java:281) at android.app.Fragment.performResume (Fragment.java:2568) at android.app.FragmentManagerImpl.moveToState (FragmentManager.java:1341) at android.app.FragmentManagerImpl.moveFragmentToExpectedState (FragmentManager.java:1576) at android.app.FragmentManagerImpl.moveToState (FragmentManager.java:1637) at android.app.FragmentManagerImpl.executeOpsTogether (FragmentManager.java:2215) at android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute (FragmentManager.java:2161) at android.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:2062) at android.app.FragmentManagerImpl$1.run (FragmentManager.java:738) at android.os.Handler.handleCallback (Handler.java:873) at android.os.Handler.dispatchMessage (Handler.java:99) at android.os.Looper.loop (Looper.java:193) at android.app.ActivityThread.main (ActivityThread.java:6863) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:537) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)
Can you please share a solution to this one without upgrading the sdk because v10.01 is what we found to be the most stable.
Hi, There seems to be another issue with version v10.01. When i save the game the SavedGameWritten callback is not triggered.
I finally managed to reproduce this one. A fix is on its way. The second one on this comment looks to be the same issue.
Hi We are using v10.01 in our production release and this is the crash we are getting from users.
Do you have a logcat or more detailed logs for this one?
Do you have a logcat or more detailed logs for this one?
Unfortunately this is what we are getting on Play Console and these are the screenshots.
java.lang.Error in com.google.android.gms.common.api.internal.zza.onCreate
java.lang.Error in com.google.games.bridge.SignInRequest.signIn
java.lang.Error in com.google.games.bridge.SignInRequest.setFailure
java.lang.Error in com.google.games.bridge.SignInRequest.setSuccess
Hi, I am using 10.03 above. I think you have an issue with getting the application ID through to Google. When I call
PlayGamesPlatform.Activate();
without initializing, so it used the default one, a center dialog while screen dimmed appear as usual and I was asked to choose an account. However, after that there would be no drop down confirmation appearing, and in theadb logcat
I would always get this :2019/09/03 19:30:19.482 3034 3586 Warn PlayerAgent: {"code":400,"errors":[{"reason":"invalid","domain":"global","message":"Invalid applicationId with value . Reason: No application ids specified."}]} 2019/09/03 19:30:19.486 9055 9055 Warn SignInActivity: onSignInFailed()... 2019/09/03 19:30:19.486 9055 9055 Warn SignInActivity: Sign in failed during 8 2019/09/03 19:30:19.486 9055 9055 Warn SignInActivity: ==> Returning non-OK result: 10002
with value .
kind of hinting that it may be parsed as empty string or something. I pressed setup already and my APP ID is already here. Is it being used at all at runtime? (also you forgot to change .02 to .03)The build method is Android App Bundle, and this test is from Internal Testing, not from direct install from AAB, so the signing key should be correct, like the one real player use.
@5argon Are you still having the same issues? I tried a couple of things in the meanwhile and when app id is misconfigured / missing, we get an error before Sign in failed during 8
. As @cyraid suggested, I checked out logs on server side, but logs related to sign in look pretty stable. We don't have a big issue about it right now. Did you recently make any changes in Developer Console?
Also, if someone else is having the same issue, let us know so that we may have a better understanding of it.
@ozdemir08 So I didn't really open Unity, but I did use Android Studio and logcat, and decided to boot up the game and check the logs..
Apparently it mentioned it couldn't sign in with auth, and gave me a nice little print out of the SHA1 and such so I can double check. Apparently Google Cloud credentials had the other SHA1 still in there (from the internal test certificate), so I copied the one listed in the error.
Sorry for the trouble.
@cyraid no worries, glad that it works fine now.
@makmatics have you managed to reproduce them? Also, I'm wondering how often these crashes are happening. Do you have any numbers or anything meaningful about it on Console?
I suspect some weird behaviors could be happening if you transition to another app when sign in dialog pops up but could not reproduce a similar issue yet.
No one else getting this error after upgrade? The error occurs when I'm trying to start a real time multiplayer game. I guess it's a new bug in GPGS, or do I need to make my code thread safe? It worked before I upgraded from v. 0.9.54 to 0.10.03.
E/Unity ( 4909): UnityException: set_enabled can only be called from the main thread.
E/Unity ( 4909): Constructors and field initializers will be executed from the loading thread when loading a scene.
E/Unity ( 4909): Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
E/Unity ( 4909):
E/Unity ( 4909): Rethrow as TargetInvocationException: GooglePlayGames.Android.AndroidRealTimeMultiplayerClient+RoomUpdateCallbackProxy.onRoomCreated(System.Int32,UnityEngine.AndroidJavaObject)
E/Unity ( 4909): at UnityEngine.AndroidJavaProxy.Invoke (System.String methodName, System.Object[] args) [0x00000] in <00000000000000000000000000000000>:0
E/Unity ( 4909): at UnityEngine.AndroidJavaProxy.Invoke (System.String methodName, UnityEngine.AndroidJavaObject[] javaArgs) [0x00000] in <00000000000000000000000000000000>:0
E/Unity ( 4909): at UnityEngine._AndroidJNIHelper.InvokeJavaProxyMethod (UnityEngine.AndroidJavaProxy proxy, System.IntPtr jmethodName, System.IntPtr jargs) [0x00000] in <00000000000000000000000000000000>:0
No one else getting this error after upgrade? The error occurs when I'm trying to start a real time multiplayer game. I guess it's a new bug in GPGS, or do I need to make my code thread safe? It worked before I upgraded from v. 0.9.54 to 0.10.03.
Your code should stay as it is, it's probably a new bug. By adding a Debug.Log("log_text")
just before this line, can you check if it's the reason of this error?
Edit: @eirikost also can you verify if everything about sign in is fine so far?
@ozdemir08 Yea, it seems like that line is where the problem occurs. Should I check anything else? Sign in works like a charm 👌
@eirikost No, not now. A small change on RealTimeMultiplayerListener will probably solve the issue. I'll do it today and let you know to try it out.
EDIT: Can you try this and let me know if it works fine? You can either use the package or just replace your AndroidRealTimeMultiplayerClient.cs with the one there.
EDIT 2: Check out the announcement of Ending support for multiplayer APIs in Play Games Services
Having the same issue for the past one week. We have updated from Unity Google Play Games version V0.9.64 to V10.03. Can you please solve ASAP.
Same issue reported here, too. I am looking into it but haven't found anything suspicious yet. Have you managed to reproduce it yourself?
@ozdemir08 Yea, thanks, the fix helped and I can start the game, but still getting some errors though. Seems like there's a problem getting the participantId. I don't know if it matters now that the multiplayer api support soon will be gone but I've added the errors below.
What will you guys do with your multiplayer games without the multiplayer api support? Switch to Unity Connected Games?
E/Unity (23459): NullReferenceException: Object reference not set to an instance of an object.
E/Unity (23459): at MultiplayerController.OnRoomConnected (System.Boolean success) [0x00000] in <00000000000000000000000000000000>:0
E/Unity (23459): at GooglePlayGames.Android.AndroidRealTimeMultiplayerClient+OnGameThreadForwardingListener+<>c__DisplayClass3_0.<OnRoomConnected>b__0 () [0x00000] in <00000000000000000000000000000000>:0
E/Unity (23459): at System.Action.Invoke () [0x00000] in <00000000000000000000000000000000>:0
E/Unity (23459): at GooglePlayGames.OurUtils.PlayGamesHelperObject.Update () [0x00000] in <00000000000000000000000000000000>:0
E/Unity (23459):
E/Unity (23459): (Filename: currently not available on il2cpp Line: -1)
E/Unity (23459):
E/Unity (23459): NullReferenceException: Object reference not set to an instance of an object.
E/Unity (23459): at GooglePlayGames.Android.AndroidRealTimeMultiplayerClient.GetSelf () [0x00000] in <00000000000000000000000000000000>:0
E/Unity (23459): at MultiplayerController.GetMyParticipantId (System.Int32 mode) [0x00000] in <00000000000000000000000000000000>:0
E/Unity (23459): at GameController.SetupMultiplayerGame () [0x00000] in <00000000000000000000000000000000>:0
E/Unity (23459): at GameController.Start () [0x00000] in <00000000000000000000000000000000>:0
E/Unity (23459):
E/Unity (23459): (Filename: currently not available on il2cpp Line: -1)
The same main thread problem as earlier, but now with nearby connections:
E/Unity (23459): UnityException: set_enabled can only be called from the main thread.
E/Unity (23459): Constructors and field initializers will be executed from the loading thread when loading a scene.
E/Unity (23459): Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
E/Unity (23459):
E/Unity (23459): Rethrow as TargetInvocationException: GooglePlayGames.Android.AndroidNearbyConnectionClient+EndpointDiscoveryCallback.onEndpointFound(System.String,UnityEngine.AndroidJavaObject)
E/Unity (23459): at UnityEngine.AndroidJavaProxy.Invoke (System.String methodName, System.Object[] args) [0x00000] in <00000000000000000000000000000000>:0
E/Unity (23459): at UnityEngine.AndroidJavaProxy.Invoke (System.String methodName, UnityEngine.AndroidJavaObject[] javaArgs) [0x00000] in <00000000000000000000000000000000>:0
E/Unity (23459): at UnityEngine._AndroidJNIHelper.InvokeJavaProxyMethod (UnityEngine.AndroidJavaProxy proxy, System.IntPtr jmethodName, System.IntPtr jargs) [0x00000] in <00000000000000000000000000000000>:0
@eirikost thanks for reporting them. I'll still fix them as we have ~6 months to the given date.
EDIT:
What will you guys do with your multiplayer games without the multiplayer api support? Switch to Unity Connected Games?
If you want to discuss it, opening a new issue about it could be better. It will probably get lost among many comments in this thread.
@ozdemir08 We've updated the plugin as per your suggestion in my issue.
However, the game is now experiencing the same issue as @SankarGanesh82. We're not able to reproduce it unfortunately. Here is our callstack:
at com.google.android.gms.common.internal.Preconditions.checkState (Unknown Source)
at com.google.android.gms.tasks.zzu.zzc (Unknown Source)
at com.google.android.gms.tasks.zzu.setResult (Unknown Source)
at com.google.android.gms.tasks.TaskCompletionSource.setResult (Unknown Source)
at com.google.games.bridge.SignInRequest.setSuccess (SignInRequest.java:242)
at com.google.games.bridge.SignInRequest.access$000 (SignInRequest.java:28)
at com.google.games.bridge.SignInRequest$1.onComplete (SignInRequest.java:117)
at com.google.android.gms.tasks.zzj.run (Unknown Source)
at android.os.Handler.handleCallback (Handler.java:751)
at android.os.Handler.dispatchMessage (Handler.java:95)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6776)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1496)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1386)
@NMeijerSparkling several people are having the same issue, but apparently nobody is able to reproduce it. We found something that might cause this, which you can see the fix here and I'll release a new version today. Hopefully it will solve this issue. Otherwise, we'll need to investigate it again.
Edit: You can check out v10.04 here. Please let us know how the crash numbers are changing with this version.
@ozdemir08, Thanks for your quick response. Will use this version and let you know the status soon.
Hello community I am developing a game in real time and I get this error I don't know why:
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35) 2019-09-21 17: 44: 28.043 534-563 /? W / Unity: Android JNI Helper: converting Byte array is obsolete, use SByte array instead UnityEngine._AndroidJNIHelper: ConvertToJNIArray (Array) UnityEngine._AndroidJNIHelper: CreateJNIArgArray (Object []) UnityEngine.AndroidJavaObject: _Call (String, Object []) GooglePlayGames.Android.AndroidRealTimeMultiplayerClient: SendMessageToAll (Boolean, Byte []) NET_Game: Update ()
Thanks you.
Hello community I am developing a game in real time and I get this error I don't know why:
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35) 2019-09-21 17: 44: 28.043 534-563 /? W / Unity: Android JNI Helper: converting Byte array is obsolete, use SByte array instead UnityEngine._AndroidJNIHelper: ConvertToJNIArray (Array) UnityEngine._AndroidJNIHelper: CreateJNIArgArray (Object []) UnityEngine.AndroidJavaObject: _Call (String, Object []) GooglePlayGames.Android.AndroidRealTimeMultiplayerClient: SendMessageToAll (Boolean, Byte []) NET_Game: Update ()
Thanks you.
Thanks for reporting this. @eirikost also reported some bugs about real time api which I haven't addressed yet. I'm planning to look into them and fix them this(or next) week. But please be sure that you have read the deprecation announcement.
After updating to v10.04 we are getting crash in few deviecs(RedMi Note 4, one plus 5T) after successful login. App crashes even without performing any action after a while. Please see below log
--------- beginning of crash 09-24 15:12:18.563 15463 15593 F libc : Fatal signal 5 (SIGTRAP), code 1 in tid 15593 (Chrome_InProcRe) 09-24 15:12:18.570 455 455 W : debuggerd: handling request: pid=15463 uid=11801 gid=11801 tid=15593 09-24 15:12:18.632 16127 16127 W debuggerd64: type=1400 audit(0.0:4146): avc: denied { search } for name="com.google.android.gms" dev="dm-1" ino=790102 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 09-24 15:12:18.632 16127 16127 W debuggerd64: type=1400 audit(0.0:4147): avc: denied { search } for name="com.google.android.gms" dev="dm-1" ino=790102 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 09-24 15:12:18.642 16127 16127 W debuggerd64: type=1400 audit(0.0:4148): avc: denied { search } for name=“com.xxxx.xxx” dev="dm-1" ino=195479 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 09-24 15:12:18.642 16127 16127 W debuggerd64: type=1400 audit(0.0:4149): avc: denied { search } for name="com.xxxx.xxx” dev="dm-1" ino=195479 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 09-24 15:12:18.642 16127 16127 W debuggerd64: type=1400 audit(0.0:4150): avc: denied { search } for name="com.xxxx.xxx” dev="dm-1" ino=195479 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 09-24 15:12:18.731 16127 16127 F DEBUG : 09-24 15:12:18.731 16127 16127 F DEBUG : Build fingerprint: 'xiaomi/mido/mido:7.0/NRD90M/V9.5.10.0.NCFMIFA:user/release-keys' 09-24 15:12:18.731 16127 16127 F DEBUG : Revision: '0' 09-24 15:12:18.731 16127 16127 F DEBUG : ABI: 'arm64' 09-24 15:12:18.732 16127 16127 F DEBUG : pid: 15463, tid: 15593, name: Chrome_InProcRe >>> com.xxxx.xxx <<< 09-24 15:12:18.732 16127 16127 F DEBUG : signal 5 (SIGTRAP), code 1 (TRAP_BRKPT), fault addr 0x7f6f36a558 09-24 15:12:18.732 16127 16127 F DEBUG : x0 0000007f53075a00 x1 0000007f847dcbcc x2 0000000000000001 x3 0000000000000003 09-24 15:12:18.732 16127 16127 F DEBUG : x4 0000000000000000 x5 0080000000000000 x6 0000007f872b6000 x7 0000000000000000 09-24 15:12:18.732 16127 16127 F DEBUG : x8 000000000000005d x9 0000000000000001 x10 0000000000000001 x11 0000000000000310 09-24 15:12:18.732 16127 16127 F DEBUG : x12 0000000000000018 x13 0000000000000000 x14 0000000000000000 x15 002084ac9a410913 09-24 15:12:18.732 16127 16127 F DEBUG : x16 0000007f6ff54428 x17 0000007f847dd868 x18 0000000000015180 x19 0000007f5308fe40 09-24 15:12:18.732 16127 16127 F DEBUG : x20 0000000000000001 x21 0000007f5308fe40 x22 0000007f492d7b2c x23 0000007f492d7928 09-24 15:12:18.732 16127 16127 F DEBUG : x24 0000007f492d3280 x25 0000000000000000 x26 0000007f54d8bcc0 x27 000000002c700000 09-24 15:12:18.733 16127 16127 F DEBUG : x28 00000000000ffd90 x29 0000007f492d3240 x30 0000007f6f36a54c 09-24 15:12:18.733 16127 16127 F DEBUG : sp 0000007f492d3230 pc 0000007f6f36a558 pstate 0000000060000000 09-24 15:12:18.740 16127 16127 F DEBUG : 09-24 15:12:18.740 16127 16127 F DEBUG : backtrace: 09-24 15:12:18.742 16127 16127 F DEBUG : #00 pc 0000000002d7a558 /data/app/com.android.chrome-2/base.apk (offset 0xc1b000) 09-24 15:12:18.742 16127 16127 F DEBUG : #01 pc 0000000002d7a548 /data/app/com.android.chrome-2/base.apk (offset 0xc1b000) 09-24 15:12:19.196 7746 7767 W LocalConnector: Cannot connect the wmserver-data-reciever-86111 09-24 15:12:19.196 7746 7767 W LocalConnector: java.io.IOException: Connection refused 09-24 15:12:19.196 7746 7767 W LocalConnector: at android.net.LocalSocketImpl.connectLocal(Native Method) 09-24 15:12:19.196 7746 7767 W LocalConnector: at android.net.LocalSocketImpl.connect(LocalSocketImpl.java:292) 09-24 15:12:19.196 7746 7767 W LocalConnector: at android.net.LocalSocket.connect(LocalSocket.java:131) 09-24 15:12:19.196 7746 7767 W LocalConnector: at com.miui.wmsvc.b.b.a$a.run(Unknown Source) 09-24 15:12:19.196 7746 7767 W LocalConnector: at java.lang.Thread.run(Thread.java:760)
There's a lot of code compile warnings being generated by the C# code in this package, this makes it incompatible with projects where WarningsAsErrors as been enabled (which is fairly common in large scale production games). This should be remedied asap to avoid users of this plugin needing to modify the code to suit their project and therefore making upgrading harder later on as modifications will need re applying.
v0.10.3
@ozdemir08 v10.04 fixed our crashes, thanks! However, since we've started using GPGS v10 we've seen a significant increase in ANRs.
Here is our stacktrace:
at com.unity3d.player.ReflectionHelper.nativeProxyInvoke (Native method)
at com.unity3d.player.ReflectionHelper.a (unavailable)
at com.unity3d.player.ReflectionHelper$1.invoke (unavailable)
at java.lang.reflect.Proxy.invoke (Proxy.java:1006)
at com.google.android.gms.tasks.OnSuccessListener.onSuccess (unavailable)
at com.google.android.gms.tasks.zzn.run (unavailable:4)
- locked <0x0a3b6811> (a java.lang.Object)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:214)
at android.app.ActivityThread.main (ActivityThread.java:7156)
at java.lang.reflect.Method.invoke (Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:975)
In AndroidSavedGamedClient
we call OpenWithAutomaticConflictResolution
which then calls InternalOpen
. This in turn calls AddOnSuccessListener
on AndroidTaskUtils
. We suspect this is the issue as it matches com.google.android.gms.tasks.OnSuccessListener.onSuccess
in the callstack and this issue started after updating to v10. No other changes have been made in the game in that update.
Will leaderboard score retrieval be improved? The documentation even currently lies about its abilities. For example, it says you can specify the rank to start retrieving scores at, however, it ALWAYS starts from the first rank and completely ignores the specified Range if one is provided. https://github.com/playgameservices/play-games-plugin-for-unity#accessing-leaderboard-data
The rank position to start retrieving scores.
Lies! ^
In
AndroidSavedGamedClient
we callOpenWithAutomaticConflictResolution
which then callsInternalOpen
. This in turn callsAddOnSuccessListener
onAndroidTaskUtils
. We suspect this is the issue as it matchescom.google.android.gms.tasks.OnSuccessListener.onSuccess
in the callstack and this issue started after updating to v10. No other changes have been made in the game in that update.
Glad that v10.04 fixed your crashes! Also, thanks for reporting this, I'll look into it.
Google Play Game Services is pleased to announce that Google Play Games Services plugin v10 is now available.
The new plugin now directly uses the main PGS Java SDK. As a result, the new plugin is significantly smaller and by using Proguard you may be able to decrease it even further. Directly accessing the Java SDK also makes it easier to debug issues.
Please help us to continue to improve the Plugin by reporting bugs in this version of the plugin. In a few weeks, we will merge this version into the Master branch with reported bugs addressed.
Using the new plugin
If you are already using the Google Play Games Services Plugin in your project, you can update to the new one by deleting the GooglePlayGames directory from your project and importing the new package that can be found here.
If you are not yet using Google Play Games Services Plugin, then follow the instructions in the Readme file but use the new package which can be found here instead of the one in current-build.