소프트웨어/앱 개발

[플러터] 앱 광고 환경설정

Nerd Dog 2024. 10. 10. 00:34

 

 

 

 

 

Flutter 앱에 애드몹 광고를 설정해야 하는 이유

우리는 항상 앱을 통해 수익을 창출하는 것을 꿈꾼다. 마치 나만의 작은 ATM을 만드는 느낌이라고 할까. 그 꿈을 이뤄낸 사람 중 한 명이 바로 '프로그래밍 좀비'님이다. 그는 자신의 앱을 통해 경제적 자유를 이루었고, 그 이야기는 많은 개발자들에게 영감을 주었다.

https://soulduse.tistory.com/138

 

개인앱 300개 만들고 퇴사합니다.

23년 2월 7일 작성한 포스팅 끝자락에 작성한 글이 현실이 되었습니다. 그리고 어찌 운이좋아서 수익이 폭증하게 되면 웃으며 회사를 졸업하는 시기가 더 빨라질수도 있지 않을까? 이

soulduse.tistory.com

 

앱을 통해 돈을 버는 방법에는 여러 가지가 있다. 인앱 결제를 통해 사용자가 직접 비용을 지불하게 하는 방법도 있고, 앱 내 광고를 통해 수익을 창출하는 방법도 있다. 특히, 광고는 접근성이 높아 많은 개발자들이 첫 수익화 전략으로 선택하곤 한다.

이 글에서는 Flutter를 이용해 앱에 광고를 설정하는 과정을 다루겠다. 여러분도 직접 광고를 설정하고, 여러분의 앱이 작은 수익 창출의 기회가 되도록 도전해보자.

 

 

플러터에서 광고 ID 이해하기


앱에 광고를 추가하기 위해서는 광고 ID의 개념을 명확히 이해해야 한다. 여기서 알아야 할 점은 앱에서 사용하는 ID와 광고용 ID가 다르다는 것이다.

앱 ID와 광고용 ID의 차이
   - 앱 ID는 각 앱에 유일하게 할당된 ID입니다. 이는 앱 자체를 구분하기 위한 고유 식별자입니다.
   - 광고용 ID는 광고 유형에 따라 다릅니다. 예를 들어, 배너 광고, 전면 광고, 리워드 광고 각각의 ID가 따로 존재합니다.

 

각각의 테스트용 ID는 아래 기재해 놓았습니다.

앱 테스트 ID :  ca-app-pub-3940256099942544~3347511713
배너 광고 ID : ca-app-pub-3940256099942544/6300978111
전면 광고 ID : ca-app-pub-3940256099942544/1033173712
리워드 광고 ID : ca-app-pub-3940256099942544/5224354917

 

앱 ID는 가운데에 ~ 기호가 있고, 광고 ID는 가운데에 / 기호가 있다는 차이점이 있다. 작성자는 이 차이를 인지하지 못하고, 두 ID를 동일하게 취급하여 동일한 오류를 반복해서 겪었다.

 

플러터 프로젝트 설정하기


   - 먼저 새로운 Flutter 프로젝트를 생성합니다.
   - pubspec.yaml 파일에 google_mobile_ads 라이브러리를 추가해줍니다.
   - pub get 명령어를 실행해 라이브러리를 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  google_mobile_ads: ^4.0.0

 

안드로이드 버전

 

프로젝트 명/android/app/src/main/AndroidManifest.xml 파일에

다음과 같이 앱의 인터넷 사용 권한을 추가하고, 애플리케이션 내부에 메타데이터로 앱 ID를 등록한다.

 

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.{프로젝트 명}">

    <!-- 인터넷 사용 권한 추가 -->
    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:label="{프로젝트 명}"
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher">

        <!-- 여기에서 AdMob 앱 ID를 추가합니다 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-3940256099942544~3347511713"/>

        <activity
        ...

 

IOS 버전

ios/Runner/Info.plist 내부에 해당 내용을 추가해줍니다.

 
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
 

관련 글