[파이썬/Python] Kivy로 만든 안드로이드 앱 광고 적용하기 (feat. Admob)
#나는 파이썬으로 안드로이드 앱 만든다
#파이썬으로 만드는 앱
#Android 앱에 광고 적용하기
#Kivy 안드로이드 APK 생성하기
#Kivy 안드로이드 앱 Admob 적용하기
#Admob 적용 방법 공유
지난 포스팅으로 Kivy를 이용해서 Android APK 파일을 만들고, 그것을 Release 버전으로 패킹해서 실제 실행까지 되는 것을 알아 보았는데요. 본 포스팅을 읽어보시기 전에 이전 포스팅을 읽어보시면 많은 도움이 되실겁니다! 아래 링크를 통해 공유하겠습니다!
이번에는 마켓에 실제 배포 전에 Admob을 이용해서 내가 만든 Android 앱에 광고를 적용해보려고 합니다. 광고를 적용하면 소소하지만 수익도 발생하고, 좋잖아요? ㅎ
그래서 먼저 Admob 계정을 생성하여 광고 코드를 만드는 방법을 알아보겠습니다.
먼저 아래 URL을 통해 Admob 계정을 생성하세요.
계정 생성 후, 로그인을 하면 아래와 같이 새 앱에 대한 내용을 설정할 수 있어요.
아직 앱 스토어나 구글 플레이 스토어 게시한 앱이 없기 때문에 아니오.
Admob을 사용할 앱의 정보를 입력합니다.
그리고, 광고 단위를 만듭니다.
저는 일단 배너 광고를 만들었어요.
이렇게 완료되면,
앱 ID와 광고 단위 ID를 발급 받을 수 있습니다.
이후에는 먼저 buildozer init을 통해 생성되는 buildozer.spec 파일을 조금 수정합니다.
광고를 사용하기 위해서는 먼저 인터넷을 사용해야 하기 때문에, 인터넷을 사용할 수 있는 권한을 추가합니다.
그리고, Admob 가입을 통해 발급 받은 앱 ID를 아래와 같이 넣어줍니다.
buildozer.spec
...
android.permissions = INTERNET, ACCESS_NETWORK_STATE
android.gradle_dependencies = 'com.google.firebase:firebase-ads:10.2.0'
android.meta_data = com.google.android.gms.ads.APPLICATION_ID=ca-app-pub-xxxxxxxxxxxxxxxx~xxxxxxxxxx
...
그리고 Kviy에서 Admob을 적용하기 위해서 Kivmob이라는 것을 사용합니다.
Mac OSX에서는 아래와 같이 Install 합니다.
pip install kivmob
그리고 main.py를 아래와 같이 수정하여, kivmob을 통해 Admob의 배너 광고를 적용합니다.
Main Class 내 소스만 수정하면 되고, 광고 코드 ID는 실제 발급받은 값이 아닌 테스트 광고 코드를 사용하여 잘 동작하는지부터 보겠습니다.
appID는 위에서 발급 받은 실제 앱 ID를 사용하시면 됩니다.
main.py
from kivmob import KivMob, TestIds
class MainApp(App):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.ads = KivMob(appID="ca-app-pub-xxxxxxxxxxxxxxxx~xxxxxxxxxx")
self.ads.new_banner(unitID=TestIds.BANNER, top_pos=True)
self.ads.request_banner()
self.ads.show_banner()
def build(self):
return RootLayout()
이렇게 소스코드를 수정한 후, APK을 다시 빌드합니다.
buildozer android release
그리고 Keystore를 사용해서 만들어진 APK 파일을 Signing 합니다.
jarsigner -verbose -keystore ~/file.keystore ./bin/luckylotto-0.1-armeabi-v7a-release-unsigned.apk unvisible
zipalign을 통해 APK 파일을 최적화합니다.
zipalign -f -v 4 ./bin/luckylotto-0.1-armeabi-v7a-release-unsigned.apk luckylotto_release.apk
그리고 APK 파일을 설치하여 잘 실행되는지 확인해보겠습니다.
설치 후 잘 실행이 되네요.
그리고 설정한 배너 광고도 잘 보입니다.
그러면 이제는 실제 배포할 APK를 생성하겠습니다.
위에서 new_banner 함수의 unitID는 Admob 가입 후 광고코드 생성을 통해 발급 받은 배너 광고의 ID를 입력하면 됩니다.
class MainApp(App):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.ads = KivMob(appID="ca-app-pub-xxxxxxxxxxxxxxxx~xxxxxxxxxx")
self.ads.new_banner(unitID="ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx", top_pos=True)
self.ads.request_banner()
self.ads.show_banner()
def build(self):
return RootLayout()
그리고, 다시 위에서 했던 빌드과정을 다시 진행하게 되면 최종적으로 배포를 위한 APK 생성이 완료됩니다.
이제 정말 스토어 게시를 해볼 일만 남았네요.
다음 포스팅에서 진행해볼게요!
이런 글은 어때요?
'#연구 > #Kivy' 카테고리의 다른 글
Kivy로 안드로이드 앱을 만들기 전에 꼭 알아야할 것! (기초부터 실전까지!) (0) | 2021.06.03 |
---|---|
[파이썬/Python] Kivy로 한글 출력하기 #파이썬 Kivy 한글 폰트 추가 및 출력 #한글 출력하기 (0) | 2020.12.10 |
[파이썬/Python] Kivy 안드로이드 앱 APK Release로 생성하기 (feat. buildozer) (4) | 2020.07.04 |
[파이썬/Python] Kivy 안드로이드 앱 APK Debug로 생성하기 (feat. buildozer) (5) | 2020.07.02 |
[파이썬/Python] Kivy 로또 번호 생성하는 프로그램 만들기 #Kivy로 만드는 로또 번호 생성기 (0) | 2020.07.02 |