#연구/#Kivy

[파이썬/Python] Kivy로 만든 안드로이드 앱 광고 적용하기 (feat. Admob)

every7hing 2020. 7. 4. 18:36
반응형

 

[파이썬/Python] Kivy로 만든 안드로이드 앱 광고 적용하기 (feat. Admob)

#나는 파이썬으로 안드로이드 앱 만든다 

#파이썬으로 만드는 앱 

#Android 앱에 광고 적용하기

#Kivy 안드로이드 APK 생성하기 

#Kivy 안드로이드 앱 Admob 적용하기 

#Admob 적용 방법 공유

 

지난 포스팅으로 Kivy를 이용해서 Android APK 파일을 만들고, 그것을 Release 버전으로 패킹해서 실제 실행까지 되는 것을 알아 보았는데요. 본 포스팅을 읽어보시기 전에 이전 포스팅을 읽어보시면 많은 도움이 되실겁니다! 아래 링크를 통해 공유하겠습니다!

 

 

 

[파이썬/Python] Kivy 안드로이드 앱 APK Release로 생성하기 (feat. buildozer)

[파이썬/Python] Kivy 안드로이드 앱 APK Release로 생성하기 (feat. buildozer) #나는 파이썬으로 안드로이드 앱 만든다 #파이썬으로 만드는 앱 #Kivy 안드로이드 APK 생성하기 #buildozer Rel..

isss.tistory.com

이번에는 마켓에 실제 배포 전에 Admob을 이용해서 내가 만든 Android 앱에 광고를 적용해보려고 합니다. 광고를 적용하면 소소하지만 수익도 발생하고, 좋잖아요? ㅎ

 

그래서 먼저 Admob 계정을 생성하여 광고 코드를 만드는 방법을 알아보겠습니다.

먼저 아래 URL을 통해  Admob 계정을 생성하세요.

 

 

Google AdMob: 모바일 앱 수익 창출

인앱 광고를 사용하여 모바일 앱에서 더 많은 수익을 창출하고, 사용이 간편한 도구를 통해 유용한 분석 정보를 얻고 앱을 성장시켜 보세요.

admob.google.com

 

 

계정 생성 후, 로그인을 하면 아래와 같이 새 앱에 대한 내용을 설정할 수 있어요.

아직 앱 스토어나 구글 플레이 스토어 게시한 앱이 없기 때문에 아니오.

게시했나요?

 

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이라는 것을 사용합니다.

 

MichaelStott/KivMob

AdMob support for Kivy. Contribute to MichaelStott/KivMob development by creating an account on GitHub.

github.com

 

 

 

 

 

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 생성이 완료됩니다.

이제 정말 스토어 게시를 해볼 일만 남았네요.

 

다음 포스팅에서 진행해볼게요!

 

이런 글은 어때요?

반응형