안드로이드 애드몹(adMob) 구현
1. 애드몹 사이트에 앱 등록하기
Google AdMob 에 들어가서 앱을 등록해준다.
☝ 왼쪽 메뉴에서 앱 - 앱추가 클릭
☝ 안드로이드 클릭 & 마켓 게시 유무 체크
☝ 앱 이름 적고 "앱추가" 클릭
그럼 앱이 애드몹에 등록된다.
2. firebase에 애드몹 연결
☝ firebase에 들어가서 왼쪽 메뉴 AdBom 클릭 & "앱 연결" 클릭
☝ 계속 진행하여 연결
☝ 애드몹에 들어가서 왼쪽메뉴 "설정"에 들어가면 "앱 연결 관리" 카테고리가 있다.
동그라미친 "설정 해제" 부분이 이제 활성화 되어있을 것이다.
설정으로 체크해준다.
그럼 파이어베이스에서 만든 프로젝트와 애드몹을 연결할 수 있다.
☝ 다시 '설정'으로 들어가보면 애드몹과 파이어베이스가 연결됐음을 확인할 수 있다.
3. manifest.xml 파일에 AdMob 앱 ID 추가하기
☝ 애드몹 사이트에 가서 왼쪽메뉴 "앱"에 들어가면 앱ID가 나온다.
복사해서 strings.xml 파일에 저장해두자!
<resources>
<string name="admob_app_id">ca-app-pub-5511111111971~7020599766</string>
</resources>
(위 id는 예시일 뿐이다. ㅋㅋ)
<meta-data
android:name="com.google.android.gms.ads.${applicationId}"
android:value="@string/admob_app_id"/>
☝ manifest.xml 파일 안에 <application> 태그 안에 넣어준다.
✋ 주의!! 테스트할 때는 아래처럼 작성해야한다!
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>
name 속성도 무조건 com.google.android.gms.ads.APPLICATION_ID로 해야한다.
APPLICATION_ID에 실제 내 앱의 applicationID 넣는거 아니다!
4. dependency 추가하기
//애드몹
implementation 'com.google.android.gms:play-services-ads:21.3.0'
☝ 앱수준 build.gradle에 애드몹을 추가한다.
5. 애드몹 초기화하기
☝ 애드몹을 사용할 activity의 onCreate에서 초기화해준다.
fragment도 마찬가지겠지요??
6. 레이아웃에 AdView 추가
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
ads:adSize="BANNER" ads:adUnitId="ca-app-pub-123456789123456/123456789"
ads:layout_constraintTop_toBottomOf="@id/webView"
ads:layout_constraintBottom_toBottomOf="parent"
ads:layout_constraintStart_toStartOf="parent"
ads:layout_constraintEnd_toEndOf="parent"
/>
☝ xml에 AdView를 추가한다.
adSize를 내가 사용할 adMob 유형에 맞게 설정해주는게 포인트!
☝ 광고단위를 찾자!
애드몹에 들어가서 왼쪽 메뉴에서 앱 - (내가만든앱) - 광고단위 에 들어가서 시작하기를 눌러준다.
☝ 나는 배너광고를 하겠다!
☝ 광고단위ID를 만들었다.
✋ 이제 이것을 adUnitId 속성에 넣어주면된다.
단, 테스트할 때는 테스트 광고단위ID를 사용해야한다.
안그러면 계정이 정지된다;;
테스트 광고단위 ID : ca-app-pub-3940256099942544/6300978111
7. AdMob 초기화
private fun initAdBom() {
//애드몹 초기화화
MobileAds.initialize(this) {}
val adRequest = AdRequest.Builder().build()
binding.adView.loadAd(adRequest)
}
MainActivity onCreate에서 위 함수를 실행해준다.
나 같은 경우에는 데이터 바인딩을 사용해서 adView에 접근할 때 binding을 사용한다.
데이터바인딩이나 뷰바인딩을 사용하지 않는 분들은 findViewById로 adView 객체에 접근해주면 된다.
✋ 혹시나해서 다시 한 번 강조하는데
테스트할 때는 애드몹 앱 ID와 광고단위 ID를 테스트용으로 사용해야한다!
그렇지않으면 빌드가 안된다!
그리고 앱을 마켓에 올릴 때 애드몹 앱 ID와 광고단위 ID를 실제 부여받은 것으로 바꿔서 마켓에 올려준다
댓글 없음:
댓글 쓰기