반응형
[Kotlin] Google AdMob 앱 수익창출 - 광고 달기 / 배너달기/ 버튼클릭시 전면광고
목표
전면광고 / 배너 광고
구글 AdMob에서 광고 단위 설정
- 구글 AdMob을 가입해줍니다.
- 홈으로 들어오면 구글AdMob 페이지에서 광고를 설정할 앱을 추가해줍니다.
- 플랫폼과 PlayStore에 등록 여부를 선택해줍니다.
- 앱 이름을 설정해준 후 확인.
- 바로 광고 단위를 만들어보겠습니다.
배너 추가하기
- 저는 activity_main 하단에 배너를 추가해 보도록 하겠습니다.
- 식별 가능하도록 광고에 이름을 붙여준 후 1번: 앱 ID 2번: 광고 단위 ID 코드를 기억해둡니다.
- 이제 이 두 ID를 만든 앱에 적용하겠습니다.
- 테스트 할 때는 "2번 ID"는 구글에서 제공하는 테스트 아이디를 써주세요
- 배너용 test ID ca-app-pub-3940256099942544/6300978111
- 전면광고용 test ID ca-app-pub-3940256099942544/1033173712
- Manifests파일 안에 AppId를 적용해줍니다.
- manifests
<application>
<meta-data
//이곳에 google AdMob에서 받은 AppID를 넣어줍니다.
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="고유AppId를 여기에넣어주세요"/>
</application>
- Manifests파일안에 AppId를 적용해줍니다.
- Google ads 라이브러리를 Build.gradele.app에 추가해줍니다.
- build.gradle(App)
dependencies {
//google admob
implementation 'com.google.android.gms:play-services-ads:19.0.0'
}
- xml에 배너 위치를 지정해줍니다.
- activity_main.xml
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
app:adSize="BANNER"//adsize 설정은 필수입니다.
app:adUnitId="ca-app-pub-8358259317968297/5006131431" //배너의 adUnitId를 여기에 넣어줍니다.
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
</com.google.android.gms.ads.AdView>
- MainActivity에서 배너를 실행될 수 있도록 합니다.
- MainActivity
class MainActivity : AppCompatActivity() {
//추가 시작
lateinit var mAdView : AdView
//추가 끝
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//추가 시작
//banner
MobileAds.initialize(this) {}
val adRequest = AdRequest.Builder().build()
mAdView.loadAd(adRequest)
//추가 끝
버튼 클릭 시 전면 광고 띄우기
- 배너를 추가했던 것처럼 광고 단위를 googleAdMob페이지로 돌아가서 추가해줍니다.
- 앱 ID는 위에서 Manifest에 적용해주었기 때문에 전면광고 단위 ID만 기억하시면 됩니다.
- 전면광고 단위 ID를 mainActivity에 추가해줍니다.
- MainActivity
class MainActivity : AppCompatActivity() {
//추가 시작
private var mInterstitialAd: InterstitialAd? = null
//추가끝
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//추가 시작
//전면광고 설정을 해줍니다.
InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest, object : InterstitialAdLoadCallback() {
override fun onAdFailedToLoad(adError: LoadAdError) {
mInterstitialAd = null //광고 불러오기 실패했을때 null값을 반환
}
override fun onAdLoaded(interstitialAd: InterstitialAd) {
mInterstitialAd = interstitialAd //광고 load됬을때 인스턴스된 mInterestitialad를 interestitialAd로 바꿈
}
})
추가 끝
- Full Screen Contents Callback
- MainActivity
mInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
override fun onAdDismissedFullScreenContent() {
Log.d("TAG", "Ad was dismissed.")
}
override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
Log.d("TAG", "Ad failed to show.")
}
override fun onAdShowedFullScreenContent() {
Log.d("TAG", "Ad showed fullscreen content.")
mInterstitialAd = null;
}
}
- 클릭 시 전면광고가 나오게 하겠습니다.
- MainActivity
button.setOnClickListener {
if (mInterstitialAd != null) {
mInterstitialAd?.show(this)} //광고를 보여줍니다.
else {
Toast.makeText(applicationContext,"광고 로드 실패", Toast.LENGTH_SHORT).show()//광고를 불러오지 못했을때
}
}
이렇게 전면광고와 배너까지 만들어보았습니다. 앱을 배포하실때는 꼭 testID를 googleAdmob에서 받은 고유아이디로 바꿔서 업로드 하셔야합니다.
반응형