본문 바로가기

Unity/Unity3D_MyProject

Unity[유니티] - 모바일 빌드시 GPGS , AdMob먹통 및 빌드오류 해결

- GPGS를 구현하고 코드를 작성 후 앱 빌드시 유니티 에디터에서는 잘되던 GPGS가 핸드폰에서는 무반응이었고

- 어찌저찌 수정하고 빌드를 하려하니 앱 빌드 오류꺼지 나타나게 되었습니다..

 

- 원인은 역시나 난독화

난독화로 앱을 빌드하면 Proguard로 인해 GPGS관련 스크립트까지 난독화 되버리는 것 같습니다.

이를 해결하기 위해선 아래처럼 Project Settings에서 Custom Proguard File을 체크해주고

 - Asset > Plugin > Android 폴더에 proguard-user.txt 파일을 생성합니다

 

- 그안에 구글 애드몹 및 GPGS 관련 난독화를 제외시켜주는 아래 코드를 작성하고 빌드하면 해결 완료

 

-keep class com.google.unity.** {
   *;
}
-keep public class com.google.android.gms.ads.**{
   public *;
}
-keep public class com.google.ads.**{
   public *;
}
-keepattributes *Annotation*
-dontobfuscate
-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.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.** { *; }