개발/Unity

[Admob] 앱 빌드 시 광고 초기화 불가 문제 (Proguard)

  • -

Custom Proguard File

애드몹 라이브러리를 설치 완료 한 후 테스트시에는 정상적으로 동작하지만, 앱을 apk, aab로 export해 실행해보면 동작에 문제가 발생하는 것을 알 수 있었습니다.

연결된 안드로이드 폰에서 Logcat을 통해 어떤 문제가 발생했는지 확인했을 때 해당 오류가 발생했습니다.

 AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.ads.initialization.OnInitializationCompleteListener

 

에디터에서는 문제가 없었지만 Build 하는 과정에서 발생한 문제로 Proguard가 com.google.android.gms.ads를 난독화 시켜서 문제가 발생한 것으로 보입니다.

해결 방법은 의외로 간단합니다.

Project Settings > Player > Android > Publishing Settings > Build > Custom Proguard File 을 체크해주도록 합니다.

Assets > Plugins > Android에 proguard-user가 생성된 것을 확인할 수 있습니다.

proguard-user

Proguard-user.txt

-keep class com.google.unity.** {
   *;
}
-keep public class com.google.android.gms.ads.**{
   public *;
}
-keep public class com.google.ads.**{
   public *;
}
-keepattributes *Annotation*
-dontobfuscate

해당 파일에 내용을 기입해주고 저장한 후 빌드 테스트를 해보면 광고 로드 오류가 해결된 것을 확인 할 수 있습니다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.