PlayGamesPlatform.Activate(); 를 사용해서 

 

 

와 같은 사용자 인터페이스(GPGS)를 띄우려고 헀으나

 

Exception: AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.games.PlayGames


java.lang.ClassNotFoundException: com.google.android.gms.games.PlayGames
java.lang.Class.classForName(Native Method)
java.lang.Class.forName(Class.java:607)
com.unity3d.player.UnityPlayer.nativeRender(Native Method)
com.unity3d.player.UnityPlayer.-$$Nest$mnativeRender(Unknown Source:0)
com.unity3d.player.UnityPlayer$F$a.handleMessage(Unknown Source:122)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loopOnce(Looper.java:230)
android.os.Looper.loop(Looper.java:319)
com.unity3d.player.UnityPlayer$F.run(Unknown Source:24)
Caused by: java.lang.ClassNotFoundException: com.google.android.gms.games.PlayGames
... 9 more
UnityEngine.AndroidJNISafe.CheckException () (at <00000000000000000000000000000000>:0)
UnityEngine.AndroidJNISafe.FindClass (System.String name) (at <00000000000000000000000000000000>:0)
UnityEngine.AndroidJavaClass._AndroidJavaClass (System.String className) (at <00000000000000000000000000000000>:0)
GooglePlayGames.Android.AndroidClient..ctor () (at <00000000000000000000000000000000>:0)
GooglePlayGames.PlayGamesClientFactory.GetPlatformPlayGamesClient () (at <00000000000000000000000000000000>:0)
GooglePlayGames.PlayGamesPlatform.get_Instance () (at <00000000000000000000000000000000>:0)
GooglePlayGames.PlayGamesPlatform.Activate () (at <00000000000000000000000000000000>:0)
GPGSManager.Start () (at <00000000000000000000000000000000>:0)

 

와 같은 오류가 뜨면서 뜨지 않았다.

 

이유를 찾아보니...

 

Proguard 설정을 해주어야 한다고 한다.

 

 

위와 같이

 

Project Settings - Player - Publishing Settings - Build - Custom Proguard File를 체크해주자

 

 

그럼 다음과 같은 파일이 하나 생기는데

 

 

-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.video.** { *; }
-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.games.quest.** { *; }
-keep class com.google.android.gms.nearby.** { *; }

 

다음과 같이 작성하고 저장한다.

 

 

Assets - External Depandency Manager - Android Resolver - Force Resolve를 해주면 완료.

 

(만약 현재 Platform이 Android가 아니라면 Android로 Switch 해준다)

 

 

 

성공적으로 사용자 인터페이스가 뜨는 모습

 

반응형

+ Recent posts