개요
java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException:
어느 날 위와 같은 에러 로그가 생겨서, 검색해서 알아보게 되었습니다.
본문
AndroidManifest.xml 에서
<manifest> 안에 <application> 이 있는데, 그 안에 밑에 다음과 같은 것을 추가해주면 됩니다.
<!-- manifest > application > 내부에 아래와 같은 코드 추가. -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub~~~~~~"/>
Google Ads SDK 17.0.0 이상에서는 추가해야 한다고 합니다.
참고 주소
https://stackoverflow.com/questions/52786963/unable-to-get-provider-com-google-android-gms-ads-mobileadsinitprovider-java-la
https://ads-developers.googleblog.com/2018/10/announcing-v1700-of-android-google.html
참고 사항
전에 헛갈려서,
<!-- Ad Manager 사용자만 넣는 값입니다 -->
<meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true"/>
값을 적어야 되는 줄 알았었는데, 이 값은 Google Ad Manager 서비스 를 이용할 경우에 추가로 적는 값이라고 합니다. 일반적인 경우에는 추가하지 않습니다. 저도 추가하지 않았습니다. 모르고 넣으면 이상한 에러가 더 발생하니 주의해주세요.
Google Ad Manager 에 대해서는 제가 대충 썼던 글이 있습니다.
2019/03/06 - Google Ad Manager API 문서 를 읽어보니
아직 저도 이것에 대해서는 잘 모르겠습니다만,
구글의 광고 게시자(개발자) 측 플랫폼으로 '애드센스 AdSense', '애드몹 AdMob', '애드매니저 Google Ad Manager' 로 세 종류가 있는 것으로 보입니다.
나중에 통합하거나 할 지는 모르겠습니다만, 현재까지는 분명히 별개의 서비스입니다.